当您刚开始接触Linux时,了解一些基础的命令是非常有用的。
文件和目录操作
列出目录的内容将其属性信息
# 横向列出内容
ls
# 列出隐藏文件
ls -a
# 纵向列出内容
ls -l
切换目录
cd
cd ../
cd xxx
查找当前目录下的文件或者文件夹| 从磁盘遍历查找文件或目录
find
find xxx.py
创建文件夹
mkdir
mkdir xxx
移动文件夹或者文件
mv
# 将文件1移动到另一个位置
mv file1 folder2
显示当前工作目录的绝对路径
pwd
重命名文件
rename
删除文件
rm
# 表示强制删除文件而不询问用户确认
rm -f
# 强制删除指定的目录以及其下所有的文件和子目录
rm -rf
删除空目录
rmdir
创建新的空文件
touch xx.txt
以树形结构显示目录下的内容
tree
显示文件名或目录名
basename
查看文件 | 内容处理
连接多个文件并打印到屏幕输出或者重定向到指定文件
cat
cat xx.py
反向显示文件内容
tac
tac xx.py
分页显示文件内容
moremore xx.py
显示文件内容头部
head
head xx.py
显示文件内容尾部
tail
tail -f xx.py
比较文件差异
diff
将dos格式文件转化为unix格式
dos2unix
过滤字符串
grep / egrep
Usage: grep [OPTION]... PATTERN [FILE]...
Search for PATTERN in each FILE or standard input.
PATTERN is, by default, a basic regular expression (BRE).
Example: grep -i 'hello world' menu.h main.c
Regexp selection and interpretation:
-E, --extended-regexp PATTERN is an extended regular expression (ERE)
-F, --fixed-strings PATTERN is a set of newline-separated fixed strings
-G, --basic-regexp PATTERN is a basic regular expression (BRE)
-P, --perl-regexp PATTERN is a Perl regular expression
-e, --regexp=PATTERN use PATTERN for matching
-f, --file=FILE obtain PATTERN from FILE
-i, --ignore-case ignore case distinctions
-w, --word-regexp force PATTERN to match only whole words
-x, --line-regexp force PATTERN to match only whole lines
-z, --null-data a data line ends in 0 byte, not newline
Miscellaneous:
-s, --no-messages suppress error messages
-v, --invert-match select non-matching lines
-V, --version display version information and exit
--help display this help text and exit
Output control:
-m, --max-count=NUM stop after NUM matches
-b, --byte-offset print the byte offset with output lines
-n, --line-number print line number with output lines
--line-buffered flush output on every line
-H, --with-filename print the file name for each match
-h, --no-filename suppress the file name prefix on output
--label=LABEL use LABEL as the standard input file name prefix
-o, --only-matching show only the part of a line matching PATTERN
-q, --quiet, --silent suppress all normal output
--binary-files=TYPE assume that binary files are TYPE;
TYPE is 'binary', 'text', or 'without-match'
-a, --text equivalent to --binary-files=text
-I equivalent to --binary-files=without-match
-d, --directories=ACTION how to handle directories;
ACTION is 'read', 'recurse', or 'skip'
-D, --devices=ACTION how to handle devices, FIFOs and sockets;
ACTION is 'read' or 'skip'
-r, --recursive like --directories=recurse
-R, --dereference-recursive
likewise, but follow all symlinks
--include=FILE_PATTERN
search only files that match FILE_PATTERN
--exclude=FILE_PATTERN
skip files and directories matching FILE_PATTERN
--exclude-from=FILE skip files matching any file pattern from FILE
--exclude-dir=PATTERN directories that match PATTERN will be skipped.
-L, --files-without-match print only names of FILEs containing no match
-l, --files-with-matches print only names of FILEs containing matches
-c, --count print only a count of matching lines per FILE
-T, --initial-tab make tabs line up (if needed)
-Z, --null print 0 byte after FILE name
Context control:
-B, --before-context=NUM print NUM lines of leading context
-A, --after-context=NUM print NUM lines of trailing context
-C, --context=NUM print NUM lines of output context
-NUM same as --context=NUM
--group-separator=SEP use SEP as a group separator
--no-group-separator use empty string as a group separator
--color[=WHEN],
--colour[=WHEN] use markers to highlight the matching strings;
WHEN is 'always', 'never', or 'auto'
-U, --binary do not strip CR characters at EOL (MSDOS/Windows)
-u, --unix-byte-offsets report offsets as if CRs were not there
(MSDOS/Windows)
'egrep' means 'grep -E'. 'fgrep' means 'grep -F'.
Direct invocation as either 'egrep' or 'fgrep' is deprecated.
When FILE is -, read standard input. With no FILE, read . if a command-line
-r is given, - otherwise. If fewer than two FILEs are given, assume -h.
Exit status is 0 if any line is selected, 1 otherwise;
if any error occurs and -q is not given, the exit status is 2.
命令行文本编辑
vim
文件压缩 | 解压缩
打包压缩,一般用于处理后缀为.tar
或者 .gz
tar
Usage: tar [OPTION...] [FILE]...
GNU `tar' saves many files together into a single tape or disk archive, and can
restore individual files from the archive.
Examples:
tar -cf archive.tar foo bar # Create archive.tar from files foo and bar.
tar -tvf archive.tar # List all files in archive.tar verbosely.
tar -xf archive.tar # Extract all files from archive.tar.
Main operation mode:
-A, --catenate, --concatenate append tar files to an archive
-c, --create create a new archive
-d, --diff, --compare find differences between archive and file system
--delete delete from the archive (not on mag tapes!)
-r, --append append files to the end of an archive
-t, --list list the contents of an archive
--test-label test the archive volume label and exit
-u, --update only append files newer than copy in archive
-x, --extract, --get extract files from an archive
一些具体的使用
tar -cvf archive.tar file1 file2 ...:创建一个名为 archive.tar 的归档文件,并将指定的文件 file1、file2 等添加到该归档文件中。
tar -cvf archive.tar directory:创建一个名为 archive.tar 的归档文件,并将指定目录 directory 添加到该归档文件中。如果要将整个目录及其内容添加到归档文件中,可以使用 -C 选项,例如 tar -cvf archive.tar -C /path/to/directory .。
tar -xvf archive.tar:从名为 archive.tar 的归档文件中提取所有文件和目录。这将在当前工作目录中创建归档中的文件和目录。
tar -xvf archive.tar file1 file2 ...:从名为 archive.tar 的归档文件中提取指定的文件 file1、file2 等。
tar -xvf archive.tar -C /path/to/directory:从名为 archive.tar 的归档文件中提取所有文件和目录,并将它们提取到指定的目录 /path/to/directory 中。
tar -tvf archive.tar:显示归档文件 archive.tar 中的内容列表,但不提取文件。
tar -zcvf archive.tar.gz file1 file2 ...:创建一个名为 archive.tar.gz 的 gzip 压缩的归档文件,并将指定的文件 file1、file2 等添加到该归档文件中。
tar -zxvf archive.tar.gz:从名为 archive.tar.gz 的 gzip 压缩的归档文件中提取所有文件和目录。
tar 命令的选项可以组合使用,例如 tar -zxvf archive.tar.gz -C /path/to/directory 可以解压缩 gzip 压缩的归档文件并将其提取到指定目录中。
unzip
unzip file.zip:解压缩名为 file.zip 的压缩文件。
unzip -l file.zip:列出名为 file.zip 的压缩文件中的内容列表,但不解压缩文件。
unzip -d destination_directory file.zip:将名为 file.zip 的压缩文件解压缩到指定的目标目录 destination_directory 中。
gzip
用于压缩和解压缩文件的工具,通常用于创建 .gz 扩展名的压缩文件
gzip file:压缩名为 file 的文件,并生成名为 file.gz 的压缩文件。
gzip -d file.gz 或 gunzip file.gz:解压名为 file.gz 的 gzip 压缩文件。
gzip -r directory:递归压缩指定目录 directory 下的所有文件。
gzip -l file.gz:显示名为 file.gz 的 gzip 压缩文件的压缩率和压缩后的大小。
zip
创建压缩文件:
zip archive.zip file1 file2 ...:创建一个名为 archive.zip 的压缩文件,并将指定的文件 file1、file2 等添加到该压缩文件中。
zip -r archive.zip directory:创建一个名为 archive.zip 的压缩文件,并将指定目录 directory 及其内容递归地添加到该压缩文件中。
查看压缩文件内容:
zipinfo archive.zip:显示名为 archive.zip 的压缩文件的内容列表,包括其中的文件和目录。
提取压缩文件内容:
unzip archive.zip:解压名为 archive.zip 的压缩文件,将其中的文件和目录提取到当前目录中。
unzip -d destination_directory archive.zip:解压名为 archive.zip 的压缩文件,并将其中的文件和目录提取到指定的目标目录 destination_directory 中。
添加新文件到现有压缩文件:
zip -u archive.zip newfile:向名为 archive.zip 的压缩文件中添加新文件 newfile,如果已经存在于压缩文件中,则更新。
显示设备信息
显示操作系统
uname
显示主机名
hostname
计算磁盘空间使用情况
du
# 后面可以跟上指定想要查看的文件夹
显示文件系统磁盘空间使用情况
df
实时显示系统资源使用情况
top
查看系统内容
free
查看系统日历
cal
查看系统时间
data
搜索
查找二进制命令
which / where cdo
从数据库中快速查找文件路径
locate
用户管理
使用root用户权限(一般子用户是不具备的)
sudo
查看用户的id以及归属
id
网路基础命令
跨服务器进行文件传播
scp
# scp -P 端口号 用户名@ip地址:文件路径 此服务器的路径位置
测试主机之间网络的连通
ping
查看网络接口 | ip
ifconfig
命令行下载文件
wget
wget https:xxxx连接
使用SSH远程登录
ssh
ssh 用户名@ip -p 端口号
磁盘管理
查看挂载的磁盘
fdisk -l
或者
lsblk
挂载外接磁盘
# 创建挂载点
sudo mkdir /mnt/external
# 挂载外接磁盘,假设外接磁盘的设备名称为 /dev/sdb,挂载点为 /mnt/external
mount /dev/sdb /mnt/external
卸载外接磁盘
卸载外接磁盘:在不需要使用外接磁盘时,可以通过 umount 命令将其卸载
sudo umount /mnt/external
改变用户权限
用于改变文件或目录的权限。
chmod [选项] 模式 文件名
数字形式:每种权限用数字表示,分别为读取(4)、写入(2)和执行(1),然后将它们相加得到对应的权限值。
例如,755 表示所有者具有读取、写入和执行权限,而组和其他用户只具有读取和执行权限。
符号形式:使用符号来表示权限,包括用户(u)、组(g)、其他用户(o)和所有用户(a),以及权限(r、w、x)和操作(+、-、=)。
例如,u+rwx 表示给用户添加读取、写入和执行权限,o-r 表示移除其他用户的读取权限,a=x 表示给所有用户设置执行权限。
进程管理
查看当前有多少在后台运行的命令
jobs
终止进程
kill 进程id
定时任务
crontab -l
crontab -e
显示进程的快照
ps
将任务放在后台运行
nohup
nohup python "run.py" > run.log 2>&1 &
在linux系统上,可以使用鼠标左键选取内容,使用鼠标右键进行复制