Изучение некоторых из наиболее часто используемых команд 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, это очень важный навык, которым вы, возможно, захотите овладеть. В конце концов, баш - это весело :)