目录
一、文件命令
1.cd命令
change directory 即更换目录,切换到其他目录
2.mkdir命令
make directory 创建目录
3.rm命令
remove 删除,移除
rmdir命令:remove directory 移除目录
rm -rf dir1命令:-r: 这是一个选项,全称是 "--recursive",意为"递归的"。 当用于删除目录时,它会递归地删除目录及其内容。 -f:这也是一个选项,全称是 "--force",意为"强制"。 rm -rf dir1 的全称解释可以是 "强制递归删除 dir1 目录及其所有内容"。
-f 意为force 强制 功能:此选项会使rm命令忽略不存在的文件,并且在删除过程中不会出现警告消息。即使文件不存在,使用 -f 选项也不会报错。
-I 功能:在删除文件或目录之前,系统会询问用户是否确实要进行删除操作。这是一个安全措施,用于防止误删除重要文件或目录。
-r 含义 :-r 或 -R 代表递归删除(Recursive deletion)。功能:此选项会告诉rm命令递归地删除指定的目录及其所有子目录和文件。这是一个非常强大的选项,但同时也是一个危险的选项,因为它可以轻易地删除整个目录结构。
4.pwd命令
print working directory 打印工作目录"
5.ls命令
list的缩写,列出目录中的文件
ls -l命令:list 全称:--format=long 或简单地解释为 "long listing format"。
功能:以长格式显示文件和目录的详细信息。
ls -a命令:list all列出全部文件
6.cp命令
copy,复制
复制单个文件:cp source.txt destination.txt
destination.txt: 是复制后的目标文件名。如果destination.txt已经存在,它将被源文件source.txt的内容覆盖(除非使用了-i选项,该选项会在覆盖前询问用户)。
bash
将文件复制到目录中:
cp source.txt /path/to/directory/
若存在就覆盖
执行结果 :source.txt将被复制到/path/to/directory/目录下,并保持原名source.txt。如果/path/to/directory/目录中已存在名为source.txt的文件,它将被源文件的内容覆盖(除非使用了-i选项)。
bash
递归复制整个目录:
cp -r source_directory target_directory
-r: 表示递归复制。这意味着命令不仅会复制指定的目录,还会复制该目录下的所有子目录和文件。
source_directory: 要复制的源目录。
target_directory: 目标目录。如果target_directory不存在,它将被创建;如果已存在,source_directory的内容将被复制到其中。
7.mv 命令
move 移动,移动文件或者目录,重命名文件或者目录。
-i:在移动或重命名文件前进行确认,以避免意外覆盖文件。当目标位置已经存在同名文件时,系统会提示是否要覆盖。
-f:强制覆盖目标位置的同名文件,不进行询问。
bash
mv file.txt /home/user/documents/ 移动文件
mv oldfile.txt newfile.txt 重命名文件
mv myfile.txt /home/user/papers/research.txt 移动重命名文件
二、查看文件内容
8.cat命令
concatenate,这个单词的意思是连接,用于查看文本内容,后接要查看的文件名。
- 查看文件内容 :
- 使用cat命令查看单个文件的内容。例如,查看文件/etc/passwd的内容:cat /etc/passwd。
- 合并多个文件内容 :
- 使用cat命令可以将多个文件的内容合并显示。例如,合并并查看file1.txt和file2.txt的内容:cat file1.txt file2.txt。
- 创建文件 :
- 通过重定向,可以使用cat命令创建一个新文件。例如,创建一个名为newfile.txt的文件并输入内容:cat > newfile.txt,然后输入所需文本,最后按CTRL+D(按住Ctrl键并输入d)退出。
- 使用more和less查看大量内容 :
- 当文件内容过多时,可以使用more或less参数分页查看。例如:cat largefile.txt | more 或 cat largefile.txt | less。
- 显示行号 :
- 使用-n选项可以在输出端查看文件的行号。例如,查看song.txt文件的行号和内容:cat -n song.txt。
- 在文件末尾显示$ :
- 使用-e选项可以在每行的末尾显示$符号。例如:cat -e file.txt。
- 显示制表符分隔的行 :
- 使用-T选项可以将制表符显示为^I。例如:cat -T file.txt。
- 重定向和合并多个文件内容 :
- 可以将多个文件的内容重定向到一个新文件中。例如,将file1.txt和file2.txt的内容合并并重定向到newfile.txt中:cat file1.txt file2.txt > newfile.txt。
- 附加标准输出 :
- 使用>>符号可以将一个文件的内容附加到另一个文件的末尾。例如,将file1.txt的内容附加到file2.txt的末尾:cat file1.txt >> file2.txt。
- 排序文件内容 :
- 可以使用管道将cat命令的输出传递给sort命令进行排序。例如,对file1.txt、file2.txt和file3.txt的内容进行排序并输出到新文件sortedfile.txt中:cat file1.txt file2.txt file3.txt | sort > sortedfile.txt。
三、文件搜索
9.find命令
搜索文件或者目录
按不同条件的常见搜索情况
1. 按名称搜索文件
- 用法:find [路径] -name "文件名"
- 示例:查找/home/user目录下名为test.txt的文件。find /home/user -name "test.txt"
2. 按类型搜索文件
- 用法:find [路径] -type [文件类型]
- 示例:查找/home/user目录下的所有目录。find /home/user -type d
3. 按文件大小搜索
- 用法 :find [路径] -size [大小]
- 大于某个值:+
- 小于某个值:-
- 等于某个值:无符号
- 示例:查找/home/user目录下大于10MB的文件。find /home/user -size +10M
4. 按修改时间搜索
- 用法 :find [路径] -mtime [天数]
- 最近n天内:-n
- n天前:+n
- 恰好n天前:n
- 示例:查找/home/user目录下最近7天内修改过的文件。find /home/user -mtime -7
5. 按权限搜索
- 用法:find [路径] -perm [权限]
- 示例:查找/home/user目录下权限为755的文件。find /home/user -perm 755
6. 按用户和组搜索
- 用法 :
- 按用户:find [路径] -user [用户名]
- 按组:find [路径] -group [组名]
- 示例:查找/home/user目录下属于用户john的文件。find /home/user -user john
7. 组合条件搜索
- 用法:使用-and(默认)、-or、!(非)组合多个条件。
- 示例:查找/home/user目录下类型为文件且名称以.txt结尾的文件。find /home/user -type f -name "*.txt"
8. 执行操作
- 用法:-exec [命令] {} \; 对找到的每个文件执行指定命令,{}代表当前文件,\;表示命令结束。
- 示例:删除/home/user目录下所有.tmp文件。find /home/user -name "*.tmp" -exec rm {} \;
9. 限制搜索深度
- 用法:-maxdepth n 限制搜索的最大深度为n。
- 示例:仅在/home/user目录及其直接子目录中查找.txt文件。find /home/user -maxdepth 2 -name "*.txt"
四、文件权限
10.chmod命令
change mode 意为:"改变模式"
文件或者目录的权限由三组组成:用户(user),组(group),其他(others)。
每组都有三种权限:读(read r),写(write w),执行(excute x)。
权限可以用符号来或者数字来表示(如xwx,755)
符号表示法:
使用符号如+、-、=来表示权限的增加、移除或设置。
示例:chmod u+x file.txt(为用户添加执行权限)。
数字表示法:
读写执行权限分别用数字4,2,1表示,通过相加组合成权限数字。
示例:chmod 755 dirdectory(设置目录权限为用户读/写/执行、组读/执行、其他读/执行)
11.chown命令
change owner 即改变所有者的意思。更改文件或者目录的所有者和所属组。
bash
更改文件所有者:chown john example.txt
这个命令将文件"example.txt"的所有者更改为"john"。
更改目录所有者:使用-R选项可以递归地将目录及其子目录下的所有文件的所有者都更改为指定的用户名。举例:chown -R john /home/john/documents。这个命令将目录"/home/john/documents"及其子目录下的所有文件的所有者都更改为"john"。
同时更改文件的所有者和组:
bash
chown john:users example.txt
将文件的所有者更改为John,组更改为users
递归更改目录及其子目录的的所有者和组:
bash
chown -R john : users /home/john/documents
这个命令将目录"/home/john/documents"及其子目录下的所有文件的所有者更改为"john",组更改为"users"
只更改文件所属组:
bash
chown :group1 file.txt。
这个命令只将文件"file.txt"的所属组更改为"group1",文件所有者保持不变。
所有者的概念:在linux中,所有者指的是文件和目录的创建者或者指定拥有者。所有者对其拥有的文件和目录具有特定的权限。这些权限决定了所有者对文件或者目录执行那些操作:
读写执行三大操作。
父目录的所有者是否能操作子目录中的文件,取决于多个因素,主要是权限设置。
12.chgrp命令
change group,意为更改组。用于更改文件或者目录的所属组。
chgrp newgroup filename:将文件filename的所属组更改为newgroup。
chgrp -R newgroup directory:将目录directory及其所有子目录和文件的所属组更改为newgroup。
Chgrp与chown都是改变文件或者目录的所有者,两者之间有什么区别?(我感觉就是chown命令包含了chgrp命令)
Chgrp命令:主要用于更改文件或者目录的所属组。
Chown命令:不仅能改变文件或者目录的所属组,还可以改变所有者。
五、文本处理
13.grep命令
global regular Expression print.详解 :Grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。全局 正则表达式 打印。
bash
Grep "linuxtechi" /stc/passwd
此命令会在/etc/passwd文件中查找包含单词"linuxtechi"的行,并输出到终端。
14.paste命令
无特定全称,粘贴之意。详解:Paste命令是在Linux中用于连接文件中的行的命令。它可以从指定的一个或多个文件中读取输入,并将这些行连接(粘贴)到一起,然后将结果输出到标准输出。Paste命令还允许使用不同的分隔符来合并行,以及进行其他相关操作,如水平合并行的特定部分。
示例1:合并两个文件的内容 假设有两个文件file1.txt和file2.txt,内容如下:
bash
file1.txt: A B C
file2.txt: 1 2 3
使用以下命令合并这两个文件的内容:
bash
paste file1.txt file2.txt
解释:此命令会输出:
A B C 1 2 3
即将file1.txt和file2.txt的内容按列合并到了一行
15.sort命令
无特定全称,排序之意 详解:Sort命令是在Linux中用于对文本文件进行排序的命令。它可以对文件中的行进行排序,基于字母、数字或特定的字段。
示例1:按照字母顺序对文件进行排序
bash
sort file.txt
解释:此命令会按照file.txt文件中每一行的字母顺序进行排序,并将排序后的结果输出到终端。如果file.txt包含未排序的文本行,这个命令会将它们排序。
示例2:按照数字大小对文件进行排序 假设numbers.txt文件包含以下内容:
3
1
2
使用以下命令按照数字大小进行排序:
bash
sort -n numbers.txt
解释:此命令会输出:
1
2
3
即-n选项使得sort命令按照数字大小而不是默认的字母顺序对行进行排序。
16.comm命令
compare common lines
Comm命令是一个简易的Linux文件比较工具,用于标识出两个已排序文件中的共同部分。该命令逐行比较两个文件,并以三列形式显示结果:第一列显示只在第一个文件中出现的行,第二列显示只在第二个文件中出现的行,第三列显示两个文件的共有行。
示例1:比较两个已排序的文件并显示差异
假设我们有两个已排序的文件file1.txt和file2.txt,内容如下:
bash
file1.txt:
apple
banana
cherry
file2.txt:
banana
blueberry
cherry
grape
我们可以使用comm命令来比较这两个文件,并显示它们之间的差异和共同点。以下是comm命令的用法示例:
bash
comm file1.txt file2.txt
此命令将输出三列内容:
- 第一列显示只在file1.txt中出现的行(在这个例子中是apple)。
- 第二列显示只在file2.txt中出现的行(在这个例子中是blueberry和grape)。
- 第三列显示两个文件中都出现的行(在这个例子中是banana和cherry)。
- comm -1 file1 file2 比较两个文件的内容只删除 'file1' 所包含的内容
- comm -2 file1 file2 比较两个文件的内容只删除 'file2' 所包含的内容
- comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部
六、打包和压缩
17.Tar命令
tape archive(磁带归档)的缩写。该命令最初适用于多个文件写入磁带的。
1. 创建归档文件
- 基础用法:将某个目录打包成tar文件。
bash
tar -cvf archive.tar /path/to/directory
2. 解压归档文件
- 基础用法:解压tar文件到当前目录。
bash
tar -xvf archive.tar
3. 使用gzip压缩与解压
- 压缩:将目录打包并用gzip压缩。
bash
tar -czvf archive.tar.gz /path/to/directory
- 解压:解压gzip压缩的tar文件。
bash
tar -xzvf archive.tar.gz
4. 使用bzip2压缩与解压
- 压缩:将目录打包并用bzip2压缩。
bash
tar -cjvf archive.tar.bz2 /path/to/directory
- 解压:解压bzip2压缩的tar文件。
bash
tar -xjvf archive.tar.bz2
5. 排除特定文件或目录
- 打包时排除:在打包过程中排除某个文件或目录。
bash
tar --exclude=/path/to/exclude -cvf archive.tar /path/to/directory
6. 查看归档文件内容
- 列出内容:查看tar文件中的内容而不解压。
bash
tar -tvf archive.tar
7. 追加文件到归档
- 追加文件:将新文件添加到已存在的tar文件中。
bash
tar -rvf archive.tar /path/to/newfile
8. 更新归档中的文件
- 更新文件:如果归档中已有同名文件,用新文件替换它。
bash
tar -uvf archive.tar /path/to/updatedfile
9. 分割大归档文件
- 分割文件:将大的tar文件分割成多个小文件,便于传输或存储。例如,分割成500MB大小的文件。
bash
tar -cvf - /path/to/directory | split -b 500M - archive.tar.part
- 合并分割的文件:将分割后的文件合并成一个完整的tar文件。
bash
cat archive.tar.part* | tar -xvf -
七、进程相关的命令
18.ps命令
process status 进程状态。查看当前系统中进程状态的常用命令。
-A :所有的进程均显示出来
-a :不与terminal有关的所有进程
-u :有效用户的相关进程
-x :一般与a参数一起使用,可列出较完整的信息
-l :较长,较详细地将PID的信息列出
bash
ps -ef # 显示所有进程的详细信息。
ps aux # 查看系统所有的进程数据
ps ax # 查看不与terminal有关的所有进程
ps -lA # 查看系统所有的进程数据
ps axjf # 查看连同一部分进程树状态
pstree -aup # 查看正在运行的树桩结构显示
netstat -lntp # 查看各个节点及进程和使用的端口号
19.kill命令
杀死进程。
- kill -9 pid (-9表示强制关闭)
- kill -9 程序的名字
- kill -
- pkill 程序的名字
-
- 默认情况下,kill命令发送SIGTERM(信号15)给进程,请求其正常终止。若进程无响应,可发送SIGKILL(信号9)强制终止进程。
- 常用信号:
- SIGTERM(15):请求进程正常终止,允许进程进行清理操作。
- SIGKILL(9):强制终止进程,不允许进程进行任何清理。
- SIGSTOP(19):暂停进程的执行。
- SIGCONT(18):继续执行被暂停的进程。
- SIGINT(2):通常由Ctrl+C产生,用于中断进程。
- 使用语法:
- 基本语法为 kill [选项] <进程ID> 或 kill -<信号> <进程ID>。
- 可通过 kill -l 列出所有可用的信号。
- 使用示例:
- 终止PID为1234的进程:kill 1234 或 kill -SIGTERM 1234。
- 强制终止PID为1234的进程:kill -9 1234 或 kill -SIGKILL 1234。
八、系统常用命令
关机,注销,重启
网络和进程管理
等等...