1. ls命令
列出目录内容,显示当前目录下的文件和子目录。
-l :列出长数据串,包含文件的属性与权限数据等
-a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)
-d :仅列出目录本身,而不是列出目录的文件数据
-h :将文件容量以较易读的方式(GB,kB等)列出来
-R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来
2. cd命令
切换目录
cd /root/Docements # 切换到目录/root/Docements
cd ./path # 切换到当前目录下的path目录中,“.”表示当前目录
cd ../path # 切换到上层目录中的path目录中,“..”表示上一层目录
3. mv命令
mv 命令在 Unix/Linux 系统中用于移动文件或重命名文件,它也可以用来将文件从一个位置移动到另一个位置。
常用选项:
-i:交互模式,如果目标位置已有同名文件则会提示是否覆盖
-v:显示详细的移动信息
#移动文件到另一个位置
mv file1.txt /path/to/destination
#将文件重命名为新名称
mv oldname.txt newname.txt
#交互式移动,如果目标位置已有同名文件,则询问是否覆盖
mv -i file1.txt /path/to/destination
#移动目录并显示详细信息
mv -v directory1 /path/to/destination
4. find命令
find 命令用于在指定路径下搜索文件和目录,并根据指定条件进行匹配。
#在当前目录下搜索名为 "example.txt" 的文件
find . -name example.txt
#在指定目录下搜索所有以 ".log" 结尾的文件
find /path/to/directory -name "*.log"
#搜索所有空文件或空目录
find /path/to/directory -empty
常用选项:
-name pattern:按照文件名进行匹配
-type type:按照文件类型进行匹配,如 f 表示普通文件,d 表示目录
-size n[cwbkMG]:按照文件大小进行匹配
-exec command:对搜索到的文件执行指定的命令
#在根目录下搜索所有以 ".txt" 结尾的文件
find / -name "*.txt"
#在当前目录及子目录下搜索所有大于 1MB 的文件
find . -type f -size +1M
#搜索用户家目录下的所有空目录并删除
find /home/user -type d -empty -delete
#搜索并在找到的文件执行指定命令(例如删除):
find /tmp -name "*.tmp" -exec rm {} \;
5. cp命令
cp 命令用于在 Linux/Unix 系统中复制文件或目录。
#复制文件到指定位置
cp source_file destination
#递归复制目录及其内容到目标目录
cp -r source_directory destination_directory
常用选项:
-i:交互模式,如果目标文件已存在则会提示是否覆盖
-v:显示详细的复制信息
-r:递归复制目录及其内容
-a:保留源文件的属性,相当于 -dpR
#复制文件到另一个位置
cp file1.txt /path/to/destination
#复制整个目录到另一个位置
cp -r directory1 /path/to/destination
#交互式复制,如果目标文件已存在,则询问是否覆盖
cp -i file1.txt /path/to/destination
#递归复制目录并显示详细信息
cp -rv directory1 /path/to/destination
#保留源文件属性进行复制
cp -a directory1 /path/to/destination
6. grep命令
用来搜索指定模式的文本的命令,它可以在文件中搜索特定字符串或者从标准输入读取数据并进行匹配搜索。
grep "pattern" filename #在文件中搜索指定字符串
grep "pattern" file1 file2 #搜索多个文件中包含指定字符串的行
grep -E "regex_pattern" filename #使用正则表达式进行搜索
常用选项:
-i:忽略大小写
-r:递归搜索目录下的文件
-n:显示匹配行的行号
-v:反向匹配,显示不包含匹配文本的行
-c:仅显示匹配行的计数
-l:仅显示包含匹配文本的文件名
#在文件中查找包含 "hello" 的行:
grep "hello" example.txt
#递归搜索目录下所有文件中包含 "error" 的行:
grep -r "error" /path/to/directory
#显示包含 "success" 的行数:
grep -c "success" logfile.txt
#使用正则表达式搜索以字母 "A" 开头的单词:
grep -E '\bA\w+' words.txt
7. rm命令
rm 命令用于在 Linux/Unix 系统中删除文件和目录,rm 命令删除的文件和目录将无法恢复
常用选项:
-i:交互模式,删除前询问确认
-f:强制删除,无需提示确认
-r:递归删除目录及其内容
#删除文件并提示确认
rm -i file1.txt
#强制删除文件,无需提示确认
rm -f file1.txt
#递归删除目录及其内容
rm -r directory1
8. tar命令
tar 命令通常用于在 Unix/Linux 系统中进行归档和压缩文件操作。它可以将多个文件或目录打包成一个单独的归档文件,并可选择是否对其进行压缩。
常用选项:
-c:创建归档文件
-x:解压归档文件
-v:显示详细信息
-f:指定归档文件名
-z:使用 gzip 进行压缩/解压
#创建归档文件:
tar -cvf archive.tar file1 file2 directory1
#创建归档文件并使用 gzip 进行压缩:
tar -cvzf archive.tar.gz file1 file2 directory1
#解压归档文件:
tar -xvf archive.tar
#解压经过 gzip 压缩的归档文件:
tar -xvzf archive.tar.gz
9. ps命令
ps 命令用于显示当前正在运行的进程信息。
常用选项:
-A :所有的进程均显示出来
-a :不与terminal有关的所有进程
-u :有效用户的相关进程
-x :一般与a参数一起使用,可列出较完整的信息
-l :较长,较详细地将PID的信息列出
#显示当前用户的所有进程:
ps
#显示所有进程的详细信息:
ps aux
#显示所有进程的树状结构:
pstree
#以用户为单位显示当前正在运行的进程:
ps -e -o user,cmd
#查看不与terminal有关的所有进程
ps ax
#查看系统所有的进程数据
ps -lA
#查看连同一部分进程树状态
ps axjf
10. killall命令
killall 命令用于终止指定名称的进程,它可以根据进程的名称来结束运行中的进程,而不需要知道进程的 PID(进程 ID)。
#结束名为 firefox 的所有进程:
killall firefox
#结束名为 myprogram 的所有进程,并发送 SIGKILL 信号(强制终止):
killall -s SIGKILL myprogram
#结束名为 java 的所有进程,并发送 SIGTERM 信号(默认信号,请求正常终止):
killall -s SIGTERM java
11. file命令
file 命令用于确定文件类型。它会检查文件的内容并根据文件的特征来识别文件类型。在 Unix/Linux 系统中,file 命令通常用于确定未知文件的类型。
#确定名为 example.txt 的文件类型:
file example.txt
#确定多个文件的类型:
file document.pdf image.jpg script.sh
#确定当前目录下所有文件的类型:
file *
12. cat命令
cat 命令用于连接、显示文件内容或合并多个文件。
#显示名为 example.txt 的文件内容:
cat example.txt
#连接并显示 file1.txt 和 file2.txt 文件的内容:
cat file1.txt file2.txt
#将 file1.txt 和 file2.txt 的内容合并到新文件 combined.txt 中:
cat file1.txt file2.txt > combined.txt
#使用 cat 命令显示文件内容,并通过管道传递给 grep 进行匹配:
cat example.txt | grep "pattern"
13. chgrp命令
chgrp 命令用于更改文件或目录的所属组(group),只有超级用户或文件的所有者才能更改文件或目录的所属组。
#将文件 example.txt 的所属组更改为 developers:
chgrp developers example.txt
#将目录 myfolder 及其内部所有文件的所属组更改为 admins:
chgrp -R admins myfolder
14. gcc命令
用于把C语言的源程序文件,编译成可执行程序
常用参数
-o :output之意,用于指定生成一个可执行文件的文件名
-c :用于把源文件生成目标文件(.o),并阻止编译器创建一个完整的程序
-I :增加编译时搜索头文件的路径
-L :增加编译时搜索静态连接库的路径
-S :把源文件生成汇编代码文件
-lm:表示标准库的目录中名为libm.a的函数库
-lpthread :连接NPTL实现的线程库
-std= :用于指定把使用的C语言的版本