Повысьте эффективность своей ежедневной разработки 🚀
Эта статья является переведенной статьей, нажмите на исходный текстздесь
Командная строка упрощает нашу жизнь, потому что мы можем автоматизировать некоторые общие задачи, чтобы повысить нашу эффективность. Нам просто нужно выполнить некоторые команды, не нажимая на графический интерфейс пользователя (GUI), чтобы получить то, что мы хотим сделать.
Оболочка Unix представляет собой интерпретатор командной строки илиshell
, который предоставляет пользовательский интерфейс командной строки для Unix-подобных операционных систем.shell
является одновременно языком интерактивных команд и языком сценариев и используется операционной системой для использованияshell
Скрипты управляют работой системы.
В каждой операционной системе на базе Linux или Mac по умолчанию установлена командная строка, обычно под названием «Терминал». Командная строка (CLI) позволяет нам легко перемещать и переименовывать файлы, сортировать данные и просматривать наш компьютер.
Что ж, давайте взглянем на эти 11 трюков с командной строкой ниже, чтобы сделать вашу жизнь проще.
1. grep
grep "some string" file
grep
Команда ищет шаблон в каждом файле. Он также ищет шаблоны, разделенные символами новой строки, иgrep
Выведите каждую строку, соответствующую шаблону.
-i
опция позволяет нам искать строку в заданном файле, когданечувствительный к регистру. Он соответствует таким словам, как «REACT», «REact» и «React».
grep -i "REact" file
мы можем использовать-c
Флаг (count) находит количество строк, соответствующих заданной строке/шаблону.
grep -c "react" index.js
Вот что я нашел в Интернете оgrep
Веселые и познавательные мультики команд.
Кроме того, вариант программыegrep
иfgrep
роль иgrep -E
иgrep -F
это то же самое. Эти варианты устарели, но предназначены для обратной совместимости.
ты можешь использовать этоgrep
Делайте много вещей, для получения дополнительной информации вы можете проверитьэтот документ.
2. ls
ls
ls
Список файлов и каталогов по текущему активному пути. Если путь является файлом, тоls
Отображение информации о файле на основе запрошенных параметров. Если путь является каталогом, тоls
Отображает информацию о файлах и подкаталогах в них.
Возможно, вы заметили, что файлы отображаются серым цветом, а папки — синим. Это поможет нам различать папки и файлы.
3. pwd
pwd
pwd
Команда используется для печати текущего рабочего каталога. Он напечатает полный системный путь к текущему рабочему каталогу в стандартный вывод. по умолчанию,pwd
Команда игнорирует символические ссылки, хотя можно использовать параметры для отображения полного физического пути к текущему каталогу.
4. cat
cat somefile.js
cat
Команда имеет три связанные функции, относящиеся к текстовым файлам:
- показать им
- объединенная копия
- создать новый файл
cat
Чаще всего используется для чтения содержимого файла иcat
Обычно самая удобная программа для этого.
В следующем примере использование оператора перенаправления вывода (обозначенного правыми угловыми скобками) приведет кcat
перенаправить стандартный вывод наfile2
:
cat somefile > somefile2
5. echo
echo "some text"
в линуксecho
Команда используется для отображения строки текста/строки, переданной в качестве параметра.echo
это встроенная команда, в основном используемая в сценариях оболочки и пакетных файлах для вывода текста состояния на экран или в файл.
6. touch
touch somefile
touch
Команда используется для создания файла без содержимого. Когда у пользователя нет данных для хранения при создании файла, вы можете использоватьtouch
Заказ.
Вы можете заметить, что мыtouch
для создания файла используйтеcat
для просмотра содержимого файла. Благодаря вновь созданномуindex2.js
файл пустой, поэтомуcat
ничего не возвращает.
Ниже приведеныcat
иtouch
Основное различие между:
-
cat
Используется для создания файлов с содержимым. -
touch
Создайте файл без содержимого или пустой файл. Не забудьте использоватьtouch
Файл, созданный командой, пуст. Эта команда полезна, когда у пользователя нет данных для сохранения при создании файла.
Примечание переводчика:
Здесь автор ссылается на «
cat
используемый для создания файла, содержащего контент", должен бытьcat
Сотрудничать>
для создания нового файла.
7. mkdir
mkdir some-directory
mkdir
Создайте новый пустой каталог в текущем активном пути. Вместо нажатия в текстовом редакторе или графическом интерфейсе вы можете использовать эту команду для создания новой папки.
Примечание. Обратите внимание, как мы используем предыдущий
ls
Команда для просмотра каталога.
7.1 rm
rm someFile
rm
представлятьremove
. Как это буквально означает,rm
Роль - удалять, вернее, удалять файлы.
по умолчанию,rm
Команда не удаляет каталоги. вам нужно пройти-rf
флаг для удаления каталога.
rm -rf some-directory
Примечание. Это безоговорочно удалит каталог независимо от того, есть ли в нем содержимое.
7.2 rmdir
rmdir some-directory
Если в каталоге нет контента, тоrmdir
Команда удалит каталог.
8. tail
tail somefile
tail
Команда читает файл и выводит последнюю часть (хвост) файла.
При просмотре отчетов о сбоях или предыдущих журналов историиtail
команды полезны. Вот пример, полезный при работе с файловыми журналами.
# 输入
tail /var/log/messages
# 输出
Mar 20 12:42:22 hameda1d1c dhclient[4334]: DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x280436dd)
Mar 20 12:42:24 hameda1d1c avahi-daemon[2027]: Registering new address record for fe80::4639:c4ff:fe53:4908 on eth0.*.
Mar 20 12:42:28 hameda1d1c dhclient[4334]: DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x280436dd)
Mar 20 12:42:28 hameda1d1c dhclient[4334]: DHCPACK from 10.76.198.1 (xid=0x280436dd)
Mar 20 12:42:30 hameda1d1c avahi-daemon[2027]: Joining mDNS multicast group on interface eth0.IPv4 with address 10.76.199.87.
Mar 20 12:42:30 hameda1d1c avahi-daemon[2027]: New relevant interface eth0.IPv4 for mDNS.
Mar 20 12:42:30 hameda1d1c avahi-daemon[2027]: Registering new address record for 10.76.199.87 on eth0.IPv4.
Mar 20 12:42:30 hameda1d1c NET[4385]: /sbin/dhclient-script : updated /etc/resolv.conf
Mar 20 12:42:30 hameda1d1c dhclient[4334]: bound to 10.76.199.87 -- renewal in 74685 seconds.
Mar 20 12:45:39 hameda1d1c kernel: usb 3-7: USB disconnect, device number 2
9. wget
wget someurl
GNU Wget — этоПакет бесплатных программ, файлы могут быть получены с использованием HTTP, HTTPS, FTP и FTPS (наиболее широко используемых интернет-протоколов). Это неинтерактивный инструмент командной строки, поэтому его можно легко вызывать из сценариев, заданий CRON, терминалов (X-Windows не поддерживается) и т. д.
GNU Wget имеет множество функций, упрощающих извлечение больших файлов или зеркалирование целых веб-сайтов или FTP-сайтов, в том числе:
- Прерванные загрузки можно возобновить с помощью REST и RANGE.
- Может рекурсивно использовать подстановочные знаки имени файла и зеркальные каталоги.
- Файлы сообщений на основе NLS для нескольких языков
- (Необязательно) Преобразуйте абсолютные ссылки в загруженных документах в относительные, чтобы загруженные документы могли ссылаться друг на друга локально.
- Работает в большинстве UNIX-подобных операционных систем, а также в Microsoft Windows.
- Поддержка HTTP-прокси
- Поддержка файлов cookie HTTP
- Поддержка постоянных HTTP-соединений
- Автоматическая/фоновая работа
- Используйте временные метки локальных файлов, чтобы определить, нужно ли повторно загружать документы при зеркалировании.
- GNU Wget основан наСтандартная общественная лицензия GNUизданный
читатьОфициальная документация GNUЧтобы получить больше информации.
10. find
find path -name filename
использоватьfind
Команда для быстрого поиска файла или каталога. Эта функция полезна, когда вы работаете над большими проектами с сотнями файлов и несколькими каталогами.
Поиск определенного типа файла
использоватьfind
Команда также может искать в каталоге (и его подкаталогах) файлы того же типа. Например, следующая команда будет искать в текущем рабочем каталоге все.js
документ.
find . -name "*.js"
11. mv
mv somefile /to/some/other/path
mv
Команда для перемещения файла или каталога из одного места в другое.mv
Команда поддерживает перемещение отдельных файлов, нескольких файлов и каталогов.
Итак, это 11 консольных команд, которые разработчики должны освоить. Спасибо за прочтение, надеюсь, вы узнали что-то новое. Если вы лучше разбираетесь в командной строке, вы можете оставить сообщение в комментариях, мы будем расти вместе!