Изучение некоторых из наиболее часто используемых команд bash

Специалистам по обработке данных очень важно иметь базовое представление о bash и его командах. Bash, который часто называют терминалом, консолью или командной строкой, представляет собой оболочку Unix, которая может помочь вам перемещаться по вашему компьютеру и выполнять определенные задачи.

В сегодняшней статье мы собираемся изучить несколько наиболее часто используемых команд bash, которые должен знать каждый специалист по анализу данных.

ls

Команда ls (список) используется для вывода списка каталогов или файлов. По умолчанию (т. Е. Запуск ls без каких-либо параметров) команда вернет каталоги и файлы текущего каталога, исключая любые скрытые файлы. Вот некоторые из наиболее полезных опций:

  • ls -a: список всех файлов в текущем каталоге, включая скрытые файлы
  • ls -l: Длинный список всех файлов и их размеров в текущем каталоге

Синтаксис

ls [OPTIONS] [FILES]

Пример

$ ls -la 

cd

Команда cd (изменить каталог) используется для навигации по древовидной структуре каталогов.

Синтаксис

cd [OPTIONS] directory

Команда может принимать только две опции-L, чтобы указать, следует ли переходить по символическим ссылкам, или P, чтобы указать, что не следует.

Пример

$ cd myproject

rm

Команда rm (удалить) используется для удаления файлов, каталогов или даже символических ссылок из вашей файловой системы. Вот некоторые из наиболее полезных опций:

  • rm -i: Удалите все файлы в каталоге, но позвольте пользователю подтвердить его перед удалением.
  • rm -r: удалить непустые каталоги, включая все файлы в них
  • rm -f: Удалять файлы или каталоги без запроса, даже если они защищены от записи - f означает силу.

Синтаксис

rm [OPTIONS]... FILE...

Пример

$ rm -rf directoryName

mv

Команда mv (перемещение) используется для перемещения одного или нескольких каталогов или файлов из одного места в файловой системе в другое.

Синтаксис

mv [OPTIONS] SOURCE DESTINATION

  • SOURCE может быть одним или несколькими каталогами или файлами
  • DESTINATION может быть файлом (используется для переименования файлов) или каталогом (используется для перемещения файлов и каталогов в другие каталоги.

Пример

# Rename file
$ mv file1.txt file2.txt
# Move a file into a different directory
$ mv file1.txt anotherDir/

cp

cp - это утилита, которая позволяет копировать файлы или каталоги в файловой системе. Вот некоторые из наиболее полезных опций:

  • cp -u file1.txt file1_final.txt: копируйте содержимое file1.txt в file1_final.txt, только если первый (источник) новее, чем последний (место назначения)
  • cp -R myDir/ myDir_BACKUP: Копировать каталоги
  • cp -p file1.txt file1_final.txt: скопируйте file1.txt и сохраните право собственности

Синтаксис

cp [OPTIONS] SOURCE... DESTINATION

  • SOURCE может содержать один или несколько каталогов или файлов
  • DESTINATION должен быть одним каталогом или файлом

Пример

# Copy files
$ cp file1.txt file1_final.txt
# Copy directories (and preserve ownership)
$ cp -Rp myDir/ myDirBackup

mkdir

Команда mkdir полезна, когда дело доходит до создания новых каталогов в файловой системе.

Синтаксис

mkdir [OPTION] [DIRECTORY]

  • DIRECTORY может быть одним или несколькими каталогами

Пример

# Create new directory with name myNewDir
$ mkdir myNewDir

pwd

Команда pwd (печать рабочего каталога) может использоваться для сообщения абсолютного пути к текущему рабочему каталогу.

Пример

$ pwd
/Users/administrator

трогать

Команда touch позволяет создавать новые пустые файлы или обновлять метку времени в существующих файлах или каталогах. Если вы используете touch с уже существующими файлами, команда просто обновит их временные метки. Если файлы не существуют, эта команда просто создаст их.

Вот некоторые из наиболее полезных опций:

  • touch -c file1.txt: если файл file1.txt уже существует, эта команда обновит временные метки файла, в противном случае она ничего не сделает.
  • touch -a file1.txt: обновлять только метку времени доступа к файлу
  • touch -m file1.txt: обновлять только время изменения файла

Синтаксис

touch [OPTIONS] [FILES]

Пример

# Create a new file (file1.txt does not exist)
touch file1.txt
# Update the access time of the file (file1.txt already exists)
touch -a file1.txt

Кот

cat - очень часто используемая команда, которая позволяет пользователям читать объединенное или записывать содержимое файла в стандартный вывод.

Вот некоторые из наиболее полезных опций:

  • cat -n file1.txt: отображение содержимого файла file1.txt вместе с номерами строк.
  • cat -T file1.txt: отображать содержимое файла file1.txt и различать табуляции и пробелы (табуляции в выводе будут отображаться как ^I)

Синтаксис

cat [OPTIONS] [FILE_NAMES]

  • FILE_NAMES не может быть ни одного или нескольких имен файлов

Пример

# Display the content of file $HOME/.pip/pip.conf
cat $HOME/.pip/pip.conf
# Append the content of file1.txt to file2.txt
cat file1.txt >> file2.txt

меньше

Команда less позволяет отображать содержимое файла по одной странице за раз. less не читает весь файл при его вызове, что приводит к значительному сокращению времени загрузки.

Вот некоторые из наиболее полезных опций:

  • less -N file1.txt: отображение содержимого (первой страницы) файла file1.txt и номеров строк.
  • less -X file1.txt: По умолчанию при выходе из less содержимое файла удаляется из командной строки. Если вы хотите выйти, но при этом сохранить содержимое файла на экране, используйте параметр -X.

Синтаксис

less [OPTIONS] filename

Пример

# Display the content of file $HOME/.pip/pip.conf
less $HOME/.pip/pip.conf

более

Команда more также может использоваться для отображения содержимого файла в командной строке. В отличие от less, команда more загружает сразу весь файл, и поэтому less кажется быстрее.

Вот некоторые из наиболее полезных опций:

  • more -p file1.txt: очистить экран командной строки, а затем отобразить содержимое file1.txt
  • more +100 file1.txt: отображать содержимое file1.txt, начиная со 100-й строки.

Синтаксис

more [OPTION] filename

Пример

# Display the content of file $HOME/.pip/pip.conf
more $HOME/.pip/pip.conf

grep

Команда grep (глобальное регулярное выражение) полезна, когда вы хотите найти определенную строку в файлах.

Вот некоторые из наиболее полезных опций:

  • grep -v Andrew employees.txt: инвертировать совпадение Andrew в employees.txt. Другими словами, отобразить все строки, не соответствующие шаблону Andrew
  • grep -r Andrew dirName/: Рекурсивный поиск шаблона Andrew во всех файлах в указанном каталоге dirName
  • grep -i ANdrEW employees.txt: выполните поиск без учета регистра

Синтаксис

grep [OPTIONS] PATTERN [FILE...]

  • PATTERN - шаблон поиска
  • FILE может быть не больше имен входных файлов

Пример

# Search for `export` (case insensitive) in user profile
$ grep -i export ~/.bash_profile

завиток

Команда curl используется для загрузки или выгрузки данных с использованием таких протоколов, как FTP, SFTP, HTTP и HTTPS.

Синтаксис

curl [OPTIONS] [URL...]

Пример

$ curl -L google.com

который

Команда which используется для идентификации и сообщения местоположения предоставленного исполняемого файла. Например, вы можете захотеть увидеть расположение исполняемого файла при вызове python3.

Синтаксис

which [OPTIONS] FILE_NAME

Пример

$ which python3
/usr/local/bin/python3

Топ

Команда top может помочь вам контролировать запущенные процессы и ресурсы (например, память), которые они в настоящее время используют.

Вот некоторые из наиболее полезных опций:

  • top -u myuser: отображение процессов для пользователя myuser

Пример

история

history command отображает историю команд, которые вы недавно запускали.

Вот некоторые из наиболее полезных опций:

  • history -5: Показать последние 5 команд
  • history -c: Очистить список истории
  • history -d 10 20: Удалить строки 10–20 из списка истории

Пример

$  history | grep python3

Заключение

В этой статье мы рассмотрели лишь небольшую часть наиболее часто используемых команд bash. Для специалистов по данным очень важно иметь возможность использовать командную строку, поскольку это определенно поможет им легко и, что наиболее важно, эффективно выполнять базовые задачи.

Хотя специалистам по анализу данных не обязательно становиться гуру bash, это очень важный навык, которым вы, возможно, захотите овладеть. В конце концов, баш - это весело :)

Вам также может понравиться