Linux指令合集
一、基本操作指令
ls:罗列出当前路径下所有的文件名。
常见选项:
ls -a:显示所有文件,包括隐藏文件(以“.”开头的文件)。例如,在查看包含配置文件(通常为隐藏文件)的目录时很有用。
ls -l:显示更详细的文件属性内容。其输出的各个字段含义如下:
第一个字符表示文件类型(“-”表示普通文件,“d”表示目录,“l”表示符号链接等);
接下来的9个字符,每3个一组,分别表示文件所有者、所属组和其他用户的权限(r表示可读,w表示可写,x表示可执行);
后面是硬链接数;
然后是文件所有者;
所属组;
文件大小;
最后是修改时间和文件名。
ls -h:将文件容量以较易读的方式(如GB、kB等)列出来,常与-l一起使用(ls -lh)。
ls -R:连同子目录的内容一起列出(递归列出),即该目录下的所有文件都会显示出来。
cd:跳转到指定文件夹。
用法示例:
cd 文件名:跳转到该文件夹。
cd -:转到最近一次所处的文件路径下。
cd ~:进入用户家目录。
cd…:返回上一级目录。
mkdir:创建一个新的文件夹。
用法示例:
mkdir 文件名:在当前路径下创建文件夹。
mkdir -p 文件路径:创建文件路径,例如mkdir -p a/b/c会创建多层嵌套的目录。
rmdir:删除空目录。
cat:打印指定文件的内容。
常见选项:
cat -n 文件名:打印带行号的文件内容。
cat 文件名:直接打印文件内容。
例如cat /etc/passwd可以查看系统用户账户信息文件的内容。
rm:删除文件或目录。
常见选项:
rm 文件名:删除普通文件,默认会有询问(非root用户下)。
rm -f 文件名:强制删除文件,不弹出询问。
rm -rf 目录/文件:强制删除目录或文件,不弹出询问,但使用时要特别小心,以免误删重要文件或目录。
mv:移动或重命名文件/目录。
用法示例:
mv 源文件/目录 目标文件/目录:移动或重命名。例如mv old.txt new.txt是重命名,mv file1 /home/user/是移动文件到指定目录。
常见选项:
-i:若目标文件已经存在,就会询问是否覆盖。
-u:若目标文件已经存在,且比目标文件新,才会更新。
cp:拷贝文件/目录。
用法示例:
cp 源文件/目录 目标文件/目录:拷贝到指定位置。例如cp file1 file2是在同一目录下复制文件并命名为file2,cp -r dir1 dir2是递归复制目录dir1到dir2。
常见选项:
-i:若目标文件已经存在时,在覆盖时会先询问操作的进行。
-r:递归持续复制,用于目录的复制行为。
-u:目标文件与源文件有差异时才会复制。
nano:文本编辑器,用于编辑文件。
用法示例:nano 文件名:打开文件进行编辑,编辑完成后按Ctrl + X,然后按Y保存并回车退出。
man:查看指令的手册。
用法示例:man 指令名称:查看指定指令的使用方法和选项。例如man ls可以查看ls命令的详细手册。
date:显示或设置系统日期和时间。
常见选项:
date +%Y%m%d%H%M%S:显示年月日时分秒。
date +%s:显示时间戳(从1970年1月1日00:00:00 UTC到指定时间的秒数)。
date 041217002007.00:设置日期和时间(月日时分年.秒)。
sync:数据同步写入磁盘,在系统关机或重新启动之前很重要,可多次执行以确保数据完全写入磁盘。
shutdown:关机命令。
常见选项:
shutdown -h now:立即关机。
shutdown -r now:立即重启。
shutdown -c:取消按预定时间关闭系统。
reboot:重启系统。
halt:停止系统。
poweroff:关闭系统电源。
二、文件处理指令
more:分页显示文件内容。
用法示例:more 文件名:分页查看文件内容,按回车逐行查看,按/再输入关键字可以搜索关键字所在行,但只能向下查找。
less:类似more,但可以向前翻页。
用法示例:less 文件名:查看文件内容,支持前后翻页,使用Page Up和Page Down键或者方向键进行翻页,按/搜索关键字。
head:提取文件的头部信息。
常见选项:head -n 文件名:提取前n行内容,默认n为10。例如head -5 log.txt会显示log.txt文件的前5行。
tail:提取文件的尾部信息。
常见选项:
tail -n 文件名:提取后n行内容,默认n为10。例如tail -3 error.log会显示error.log文件的最后3行。
tail -f 文件名:实时跟踪文件末尾内容,常用于查看日志文件,如查看服务器的日志文件来实时监控新的日志记录。
find:查找文件。
常见选项:
find 文件路径 -name 文件名:在指定路径下查找文件。例如find / -name “.txt"会在根目录下查找所有以.txt结尾的文件。
与时间有关的参数:
-mtime n:n为数字,意思为在n天之前的一天内被更改过的文件;
-mtime +n:列出在n天之前(不含n天本身)被更改过的文件名;
-newer file:列出比file还要新的文件名。例如find /root -mtime 0会在当前目录下查找今天之内有改动的文件。
与用户或用户组名有关的参数:
-group name:列出文件所属用户组为name的文件;
-uid n:列出文件所有者为用户ID为n的文件;
-gid n:列出文件所属用户组为用户组ID为n的文件。
与文件权限及名称有关的参数:
-size[±]SIZE:找出比SIZE还要大(+)或小(-)的文件,如find. -size +12k查找当前目录中大于12KB的文件(注意c表示byte);
-permmode:查找文件权限刚好等于mode的文件,mode用数字表示,如0755;
-perm -mode:查找文件权限必须要全部包括mode权限的文件,mode用数字表示。例如find. -perm 0755查找当前目录中文件权限为0755的文件。
grep:行文本过滤工具。
常见选项:
grep “关键字” 文件名:在文件中搜索包含关键字的行。
grep -n “关键字” 文件名:显示包含关键字的行及其行号。
grep -v “关键字” 文件名:显示不包含关键字的行。
例如grep -n “error” log.txt会显示log.txt文件中包含“error”关键字的行及其行号。
tar:文件压缩与解压。
常见选项:
tar -cvf 压缩文件名.tar 源文件/目录:创建压缩文件。例如tar -cvf backup.tar /home/user/documents将/home/user/documents目录压缩成backup.tar。
tar -xvf 压缩文件名.tar:解压文件。例如tar -xvf backup.tar解压backup.tar文件。
tar -N ‘2007/03/01’ -zcvf home.tar.gz /home:在/home当中,比2007/03/01新的文件才备份成home.tar.gz。
tar -zxvf aaa.tar.gz -C /var/www:将aaa.tar.gz解压到/var/www目录下。
unzip:解压zip文件。
用法示例:unzip 压缩文件名.zip:解压zip文件。
touch:修改文件时间或新建文件。
用法示例:
touch 文件名:如果文件存在,则更新其时间戳;如果文件不存在,则创建新文件。例如touch new_file.txt如果new_file.txt不存在则创建,存在则更新时间戳。
chmod:改变文件权限。
权限设定方法:
数字类型改变档案权限:例如chmod 755 文件名,其中7表示文件所有者的权限(4表示可读,2表示可写,1表示可执行,7 = 4+2+1),5表示所属组的权限(4+1),5表示其他用户的权限。
符号类型给文件增加用户执行权限:chmod u+x 文件名,“u”表示用户(所有者),“+”表示增加权限,“x”表示执行权限。也可以用“g”表示组,“o”表示其他用户进行权限设置。
chown:改变文件拥有者。
用法示例:chown 用户:群组 文件名:改变文件的拥有者和群组。例如chown user1:group1 file.txt将file.txt的拥有者改为user1,所属群组改为group1。
chgrp:改变文件的所属群组。
用法示例:chgrp 群组名 文件名:改变文件的所属群组。
三、网络操作指令
ifconfig:查看和配置网络接口信息,如查看IP地址、子网掩码等网络接口的配置信息。
ping:测试网络连通性。
用法示例:ping IP地址:测试与指定IP地址的网络连通性,例如ping 8.8.8.8可以测试与谷歌DNS服务器的连通性。
netstat:查看网络连接状态和网络接口信息。
常见选项:
netstat -i:显示网卡运行情况。
netstat -r:查看主机的路由列表。
netstat -ant:查看所有的网络连接,包括TCP和UDP协议的连接,显示IP地址和端口号等信息。
ftp:远程文件传输协议,用于在客户端和服务器之间进行文件传输。
telnet:远程登录协议,可用于测试远程服务器的某个端口是否开放等。
四、系统安全指令
passwd:修改用户密码。
su:切换用户身份。
用法示例:su 用户名:切换到指定用户身份,例如su root切换到根用户。
chmod:可用于设置文件权限以确保系统安全,如设置关键文件的权限为只有特定用户可读写执行等。
chown:改变文件拥有者以确保系统安全,例如将重要文件的拥有者设置为特定的系统管理用户。
五、其他实用指令
cal:显示日历,例如cal 2024显示2024年的日历。
bc:计算器,例如在命令行中输入bc进入计算器模式,可以进行简单的数学运算。
pwd:显示当前所在目录。
basename:取得路径的文件名。
用法示例:basename 路径:提取路径中的文件名,如basename /home/user/file.txt会得到file.txt。
dirname:取得路径的目录名。
用法示例:dirname 路径:提取路径中的目录名,如dirname /home/user/file.txt会得到/home/user。
nl:显示文件内容时顺道输出行号。
od:以二进制的方式读取文件内容。
top:查看系统的实时性能指标,包括CPU、内存、进程等信息,可以实时监控系统资源的使用情况。
vmstat:监控系统的虚拟内存、进程、CPU、IO等性能指标。
iostat:监控系统的磁盘IO性能指标,包括磁盘读写速度、IO等待时间等。
ps:查看系统的进程状态和进程详细信息。
常见选项:ps -a:不与terminal有关的所有进程。
lsof:查看系统的打开文件列表,包括进程打开的文件、网络连接等。
df:查看系统的磁盘空间使用情况,显示各个磁盘分区的使用量、可用量等信息。
du:查看指定目录或文件的磁盘使用情况,例如du -sh /home/user查看/home/user目录的磁盘使用总量并以易读方式显示。
六、补充的高级或特定用途指令
awk:是一种强大的文本处理工具,可用于对文本文件进行数据提取、格式化等操作。
用法示例:假设data.txt文件内容为“name age;John 25;Alice 30”,使用awk -F ’ ’ ‘{print $1}’ data.txt会输出每行以空格分隔的第一个字段(name)。
sed:主要用于对文本文件进行编辑操作,如替换、删除等。
用法示例:sed ‘s/old/new/g’ file.txt会将file.txt文件中的所有“old”字符串替换为“new”。
rsync:用于远程数据同步和本地数据复制,它比cp命令更智能,只复制有变化的文件。
用法示例:rsync -avz source/ destination/可以将source目录下的文件同步到destination目录下,“-a”表示归档模式,“-v”表示详细输出,“-z”表示压缩传输。
七、命令组合使用示例
使用管道(|)将ls -l的输出通过grep过滤出包含“txt”的行:ls -l | grep “txt”。
先使用find查找特定文件,再用xargs和rm组合删除这些文件:find / -name ".tmp” | xargs rm -f。其中xargs可以将find命令的输出结果作为rm -f命令的参数,实现批量删除操作。