当您刚开始接触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系统上,可以使用鼠标左键选取内容,使用鼠标右键进行复制