当前位置: 首页 > news >正文

烟台做网站建设电话邯郸网站建设推荐驰捷网络公司

烟台做网站建设电话,邯郸网站建设推荐驰捷网络公司,之梦网站怎么做seo,校园风险管理网站建设方案Linux是一种开源的操作系统#xff0c;它有许多强大的命令行工具#xff0c;可以让用户对系统进行各种操作和管理。本文将介绍一些Linux最常见最全的命令#xff0c;以及它们的用法和示例。 目录 ls:用于列出目录中的文件和子目录cd:用于切换当前工作目录pwd:于显示当前工作…Linux是一种开源的操作系统它有许多强大的命令行工具可以让用户对系统进行各种操作和管理。本文将介绍一些Linux最常见最全的命令以及它们的用法和示例。 目录 ls:用于列出目录中的文件和子目录cd:用于切换当前工作目录pwd:于显示当前工作目录的绝对路径cp:用于复制文件或目录mv:用于移动或重命名文件或目录rm:用于删除文件或目录mkdir:用于创建新的目录rmdir:用于删除空的目录cat:用于显示或连接文件的内容echo:用于输出指定的字符串或变量grep:用于在文件或输入中搜索匹配的字符串find:用于在目录中查找文件或目录ps:用于显示当前进程的信息kill:用于终止指定的进程ping:用于测试网络连通性ssh:用于远程登录到另一台主机scp:用于在本地和远程主机之间复制文件curl:用于从或向服务器传输数据gzip:用于压缩和解压缩文件tar用于创建或解压缩归档文件chmod:用于修改文件或目录的权限chown:用于修改文件或目录的所有者和组df:用于显示磁盘空间的使用情况du:用于显示文件或目录的大小top:用于显示系统的资源占用情况free:用于显示内存的使用情况date:用于显示或设置系统的日期和时间 awk:用于对文本进行处理sed:用于对文本进行编辑touch:用于创建空文件或者修改文件的访问和修改时间uname:用于获取操作系统的基本信息head:用于从文件顶部返回指定行数tail:用于从文件底部返回指定行数ifconfig:用于显示或配置网络接口信息netstat:用于显示网络连接和路由表的信息route:用于显示和修改网络路由表traceroute:用于显示数据包到达目的地的路径wget:用于从互联网直接下载文件ufw:用于管理防火墙apt、pacman、yum、rpm:管理软件包的工具aptpacmanyumuseradd创建新用户usermod修改现有用户groupadd创建新用户组groupmod修改现有用户组sudo超级用户身份 ls:用于列出目录中的文件和子目录 ls命令用于列出目录中的文件和子目录它有许多选项可以控制输出的格式和内容。常用的选项有 -a显示所有文件包括隐藏文件以.开头的文件-l显示详细信息包括文件的权限所有者组大小修改时间等-h以可读的格式显示文件的大小例如KBMBGB等-S按文件的大小排序-t按文件的修改时间排序-r反向排序-d只显示目录而不是目录中的内容 示例 # 列出当前目录中的文件和子目录不包括隐藏文件 $ ls Desktop Documents Downloads Music Pictures Videos# 列出当前目录中的所有文件和子目录包括隐藏文件以及详细信息 $ ls -a -l total 32 drwxr-xr-x 7 alice alice 4096 Nov 14 21:51 . drwxr-xr-x 3 root root 4096 Nov 14 21:51 .. -rw------- 1 alice alice 230 Nov 14 21:51 .bash_history drwx------ 3 alice alice 4096 Nov 14 21:51 .config drwxr-xr-x 2 alice alice 4096 Nov 14 21:51 Desktop drwxr-xr-x 2 alice alice 4096 Nov 14 21:51 Documents drwxr-xr-x 2 alice alice 4096 Nov 14 21:51 Videos# 列出当前目录中的所有文件和子目录包括隐藏文件以及详细信息以可读的格式显示文件的大小按文件的大小排序反向排序 $ ls -a -l -h -S -r total 32K drwxr-xr-x 2 alice alice 4.0K Nov 14 21:51 Videos drwxr-xr-x 2 alice alice 4.0K Nov 14 21:51 Desktop drwx------ 3 alice alice 4.0K Nov 14 21:51 .config drwxr-xr-x 7 alice alice 4.0K Nov 14 21:51 . drwxr-xr-x 3 root root 4.0K Nov 14 21:51 ..# 列出当前目录中的所有目录不包括隐藏目录 $ ls -d */ Desktop/ Documents/ Downloads/ Music/ Pictures/ Videos/cd:用于切换当前工作目录 cd命令用于切换当前工作目录它可以接受一个参数表示要切换到的目录的路径。路径可以是绝对路径也可以是相对路径。常用的特殊路径有 .表示当前目录..表示上一级目录~表示用户的主目录-表示上一次访问的目录 示例 # 切换到用户的主目录 $ cd ~ $ pwd /home/alice# 切换到Desktop目录 $ cd Desktop $ pwd /home/alice/Desktop# 切换到上一级目录 $ cd .. $ pwd /home/alice# 切换到上一次访问的目录 $ cd - $ pwd /home/alice/Desktoppwd:于显示当前工作目录的绝对路径 pwd命令用于显示当前工作目录的绝对路径它没有参数。示例 # 显示当前工作目录的绝对路径 $ pwd /home/alice/Desktopcp:用于复制文件或目录 cp命令用于复制文件或目录它可以接受两个或多个参数表示要复制的源文件或目录以及要复制到的目标文件或目录。常用的选项有 -r递归复制目录及其内容-i在覆盖已存在的文件时提示用户确认-v显示复制的过程 示例 # 复制文件file1.txt到文件file2.txt $ cp file1.txt file2.txt $ ls file1.txt file2.txt# 复制目录dir1及其内容到目录dir2如果dir2不存在则创建之 $ cp -r dir1 dir2 $ ls dir1 dir2# 复制多个文件file1.txt和file2.txt到目录dir1 $ cp file1.txt file2.txt dir1 $ ls dir1 file1.txt file2.txt# 复制文件file1.txt到文件file2.txt如果file2.txt已存在则提示用户确认 $ cp -i file1.txt file2.txt cp: overwrite file2.txt? y $ ls file1.txt file2.txt# 复制目录dir1及其内容到目录dir2显示复制的过程 $ cp -r -v dir1 dir2 dir1 - dir2 dir1/file1.txt - dir2/file1.txt dir1/file2.txt - dir2/file2.txt $ ls dir1 dir2mv:用于移动或重命名文件或目录 mv命令用于移动或重命名文件或目录它可以接受两个或多个参数表示要移动或重命名的源文件或目录以及要移动到或重命名为的目标文件或目录。常用的选项有 -i在覆盖已存在的文件时提示用户确认-v显示移动或重命名的过程 示例 # 重命名文件file1.txt为file2.txt $ mv file1.txt file2.txt $ ls file2.txt# 移动文件file2.txt到目录dir1 $ mv file2.txt dir1 $ ls dir1# 移动目录dir1到目录dir2如果dir2不存在则创建之 $ mv dir1 dir2 $ ls dir2# 移动多个文件file1.txt和file2.txt到目录dir1 $ mv file1.txt file2.txt dir1 $ ls dir1 file1.txt file2.txt# 重命名文件file1.txt为file2.txt如果file2.txt已存在则提示用户确认 $ mv -i file1.txt file2.txt mv: overwrite file2.txt? y $ ls file2.txt# 移动目录dir1到目录dir2显示移动的过程 $ mv -v dir1 dir2 dir1 - dir2 $ ls dir2rm:用于删除文件或目录 rm命令用于删除文件或目录它可以接受一个或多个参数表示要删除的文件或目录。常用的选项有 -r递归删除目录及其内容-i在删除文件或目录时提示用户确认-v显示删除的过程-f强制删除文件或目录不提示用户确认 示例 # 删除文件file1.txt $ rm file1.txt# 删除目录dir1及其内容 $ rm -r dir1# 删除多个文件file1.txt和file2.txt $ rm file1.txt file2.txt# 删除文件file1.txt提示用户确认 $ rm -i file1.txt rm: remove regular file file1.txt? y# 删除目录dir1及其内容显示删除的过程 $ rm -r -v dir1 removed dir1/file1.txt removed dir1/file2.txt removed directory dir1# 强制删除文件file2.txt不提示用户确认 $ rm -f file2.txt mkdir:用于创建新的目录 mkdir命令用于创建新的目录它可以接受一个或多个参数表示要创建的目录的路径。常用的选项有 -p创建多级目录如果父目录不存在则一并创建之-v显示创建的过程 示例 # 创建一个名为dir1的目录 $ mkdir dir1 $ ls dir1# 创建多个目录dir1dir2和dir3 $ mkdir dir1 dir2 dir3 $ ls dir1 dir2 dir3# 创建一个多级目录dir1/dir2/dir3如果父目录不存在则一并创建之 $ mkdir -p dir1/dir2/dir3 $ ls dir1 $ ls dir1 dir2 $ ls dir1/dir2 dir3# 创建一个名为dir1的目录显示创建的过程 $ mkdir -v dir1 mkdir: created directory dir1 $ ls dir1rmdir:用于删除空的目录 rmdir命令用于删除空的目录它可以接受一个或多个参数表示要删除的目录的路径。常用的选项有 -p删除多级目录如果子目录为空则一并删除之-v显示删除的过程 示例 # 删除一个空的目录dir1 $ rmdir dir1# 删除多个空的目录dir1dir2和dir3 $ rmdir dir1 dir2 dir3# 删除一个多级目录dir1/dir2/dir3如果子目录为空则一并删除之 $ rmdir -p dir1/dir2/dir3# 删除一个空的目录dir1显示删除的过程 $ rmdir -v dir1 rmdir: removing directory, dir1 cat:用于显示或连接文件的内容 cat命令用于显示或连接文件的内容它可以接受一个或多个参数表示要显示或连接的文件。常用的选项有 -n显示行号-b显示非空行的行号-s压缩连续的空行为一行-E在每行的末尾显示一个$符号 示例 # 显示文件file1.txt的内容 $ cat file1.txt Hello World# 连接文件file1.txt和file2.txt的内容并显示到标准输出 $ cat file1.txt file2.txt Hello World Linux Bash# 连接文件file1.txt和file2.txt的内容并重定向到文件file3.txt $ cat file1.txt file2.txt file3.txtecho:用于输出指定的字符串或变量 echo命令用于输出指定的字符串或变量它可以接受一个或多个参数表示要输出的内容。常用的选项有 -n不换行-e解释转义字符例如\n表示换行\t表示制表符\a表示响铃等-E不解释转义字符原样输出 示例 # 输出Hello World $ echo Hello World Hello World# 输出Hello World不换行 $ echo -n Hello World Hello World$# 输出Hello\nWorld解释转义字符 $ echo -e Hello\nWorld Hello World# 输出Hello\nWorld不解释转义字符 $ echo -E Hello\nWorld Hello\nWorld# 输出一个变量的值变量名用$符号表示 $ namealice $ echo $name alice# 输出多个参数用空格分隔 $ echo Hello $name, how are you? Hello alice, how are you?grep:用于在文件或输入中搜索匹配的字符串 grep命令用于在文件或输入中搜索匹配的字符串它可以接受一个或多个参数表示要搜索的模式和要搜索的文件或输入。常用的选项有 -i忽略大小写-v反向匹配显示不匹配的行-c显示匹配的行数-n显示匹配的行号-l显示匹配的文件名-r递归搜索目录及其内容 示例 # 在文件file1.txt中搜索字符串Hello $ grep Hello file1.txt Hello World# 在文件file1.txt和file2.txt中搜索字符串Hello忽略大小写 $ grep -i hello file1.txt file2.txt file1.txt:Hello World file2.txt:hello linux# 在文件file1.txt中搜索字符串Hello显示不匹配的行 $ grep -v Hello file1.txt Linux Bash# 在文件file1.txt中搜索字符串Hello显示匹配的行数 $ grep -c Hello file1.txt 1# 在文件file1.txt中搜索字符串Hello显示匹配的行号 $ grep -n Hello file1.txt 1:Hello World# 在目录dir1中搜索字符串Hello显示匹配的文件名 $ grep -l Hello dir1 dir1/file1.txt# 在目录dir1及其内容中搜索字符串Hello递归搜索 $ grep -r Hello dir1 dir1/file1.txt:Hello World dir1/dir2/file2.txt:Hello Linuxfind:用于在目录中查找文件或目录 find命令用于在目录中查找文件或目录它可以接受一个或多个参数表示要查找的目录和要查找的条件。常用的条件有 -name按文件名匹配可以使用通配符例如*.txt表示以.txt结尾的文件-type按文件类型匹配可以是f表示普通文件d表示目录l表示链接等-size按文件大小匹配可以使用表示大于-表示小于c表示字节k表示千字节M表示兆字节等-perm按文件权限匹配可以使用-表示必须全部满足表示至少满足一个/表示任意一个都不满足等-user按文件所有者匹配-group按文件所属组匹配-mtime按文件修改时间匹配可以使用表示大于-表示小于单位是天-exec对匹配的文件执行指定的命令命令的结尾用\;表示 示例 # 在当前目录中查找文件名为file1.txt的文件 $ find . -name file1.txt ./file1.txt# 在当前目录及其内容中查找文件名以.txt结尾的文件 $ find . -name *.txt ./file1.txt ./file2.txt ./dir1/file3.txt ./dir1/dir2/file4.txt# 在当前目录及其内容中查找类型为目录的文件 $ find . -type d . ./dir1 ./dir1/dir2# 在当前目录及其内容中查找大小大于1M的文件 $ find . -size 1M ./file5.mp4 ./dir1/file6.mp3# 在当前目录及其内容中查找权限为755的文件 $ find . -perm 755 ./file1.txt ./dir1# 在当前目录及其内容中查找所有者为alice的文件 $ find . -user alice ./file1.txt ./file2.txt ./file5.mp4 ./dir1# 在当前目录及其内容中查找所属组为users的文件 $ find . -group users ./file1.txt ./file2.txt ./file5.mp4 ./dir1# 在当前目录及其内容中查找修改时间在7天内的文件 $ find . -mtime -7 ./file1.txt ./file2.txt ./file5.mp4 ./dir1# 在当前目录及其内容中查找文件名以.txt结尾的文件并显示它们的内容 $ find . -name *.txt -exec cat {} \; This is file3.txt This is file4.txtps:用于显示当前进程的信息 ps命令用于显示当前进程的信息它可以接受一个或多个参数表示要显示的进程和要显示的信息。常用的参数有 -e显示所有进程-f显示完整格式的信息包括进程的用户父进程启动时间命令等-u显示指定用户的进程-p显示指定进程号的进程-a显示除会话领导和无终端的进程外的所有进程-x显示无终端的进程 示例 # 显示所有进程的简要信息 $ ps -ePID TTY TIME CMD1 ? 00:00:02 systemd2 ? 00:00:00 kthreadd3 ? 00:00:00 rcu_gp4 ? 00:00:00 rcu_par_gp6 ? 00:00:00 kworker/0:0H-kb9 ? 00:00:00 mm_percpu_wq10 ? 00:00:00 ksoftirqd/011 ? 00:00:00 rcu_sched12 ? 00:00:00 migration/013 ? 00:00:00 idle_inject/014 ? 00:00:00 cpuhp/015 ? 00:00:00 cpuhp/116 ? 00:00:00 idle_inject/117 ? 00:00:00 migration/118 ? 00:00:00 ksoftirqd/120 ? 00:00:00 kworker/1:0H-kb21 ? 00:00:00 cpuhp/222 ? 00:00:00 idle_inject/223 ? 00:00:00 migration/2 kill:用于终止指定的进程 kill命令用于终止指定的进程它可以接受一个或多个参数表示要终止的进程的进程号或信号。常用的信号有 -9强制终止进程不可被忽略或捕获-15正常终止进程可以被忽略或捕获-2发送中断信号相当于按下CtrlC-3发送退出信号相当于按下CtrlZ 示例 # 终止进程号为1234的进程发送默认的信号15 $ kill 1234# 强制终止进程号为1234的进程发送信号9 $ kill -9 1234# 终止进程号为1234和5678的进程发送信号15 $ kill 1234 5678# 发送中断信号到进程号为1234的进程相当于按下CtrlC $ kill -2 1234# 发送退出信号到进程号为1234的进程相当于按下CtrlZ $ kill -3 1234ping:用于测试网络连通性 ping命令用于测试网络连通性它可以接受一个或多个参数表示要测试的主机的域名或IP地址。常用的选项有 -c指定发送的数据包的个数-i指定发送数据包的间隔单位是秒-s指定发送数据包的大小单位是字节-t指定数据包的生存时间单位是跳数 示例 # 测试与www.google.com的网络连通性发送4个数据包每个数据包大小为56字节 $ ping www.google.com PING www.google.com (142.250.67.228) 56(84) bytes of data. 64 bytes from nrt12s02-in-f4.1e100.net (142.250.67.228): icmp_seq1 ttl117 time5.77 ms 64 bytes from nrt12s02-in-f4.1e100.net (142.250.67.228): icmp_seq2 ttl117 time5.76 ms 64 bytes from nrt12s02-in-f4.1e100.net (142.250.67.228): icmp_seq3 ttl117 time5.76 ms 64 bytes from nrt12s02-in-f4.1e100.net (142.250.67.228): icmp_seq4 ttl117 time5.76 ms--- www.google.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev 5.760/5.763/5.770/0.004 ms# 测试与www.google.com的网络连通性发送10个数据包每个数据包大小为128字节每隔2秒发送一个 $ ping -c 10 -i 2 -s 128 www.google.com PING www.google.com (142.250.67.228) 128(156) bytes of data. 136 bytes from nrt12s02-in-f4.1e100.net (142.250.67.228): icmp_seq1 ttl117 time5.76 ms 136 bytes from nrt12s02-in-f4.1e100.net (142.250.67.228): icmp_seq2 ttl117 time5.76 ms 136 bytes from nrt12s02-in-f4.1e100.net (142.250.67.228): icmp_seq3 ttl117 time5.76 ms 136 bytes from nrt12s02-in-f4.1e100.net (142.250.67.228): icmp_seq4 ttl117 time5.76 ms 136 bytes from nrt12s02-in-f4.1e100.net (142.250.67.228): icmp_seq5 ttl117 time5.76 ms 136 bytes from nrt12s02-in-f4.1e100.net (142.250.67.228): icmp_seq6 ttl117 time5.76 ms 136 bytes from nrt12s02-in-f4.1e100.net (142.250.67.228): icmp_seq7 ttl117 time5.76 ms 136 bytes from nrt12s02-in-f4.1e100.net (142.250.67.228): icmp_seq8 ttl117 time5.76 ms 136 bytes from nrt12s02-in-f4.1e100.net (142.250.67.228): icmp_seq9 ttl117 time5.76 ms 136 bytes from nrt12s02-in-f4.1e100.net (142.250.67.228): icmp_seq10 ttl117 time5.76 ms--- www.google.com ping statistics --- 10 packets transmitted, 10 received, 0% packet loss, time 18029ms rtt min/avg/max/mdev 5.760/5.763/5.768/0.007 ms# 测试与www.google.com的网络连通性发送4个数据包每个数据包大小为56字节指定数据包的生存时间为5跳 $ ping -c 4 -s 56 -t 5 www.google.com PING www.google.com (142.250.67.228) 56(84) bytes of data. From 10.0.0.1 icmp_seq1 Time to live exceeded From 10.0.0.1 icmp_seq2 Time to live exceeded From 10.0.0.1 icmp_seq3 Time to live exceeded From 10.0.0.1 icmp_seq4 Time to live exceeded--- www.google.com ping statistics --- 4 packets transmitted, 0 received, 4 errors, 100% packet loss, time 3004msssh:用于远程登录到另一台主机 ssh命令用于远程登录到另一台主机它可以接受一个或多个参数表示要登录的主机的用户名域名或IP地址以及要执行的命令。常用的选项有 -p指定远程主机的端口号-i指定私钥文件的路径-v显示详细的连接信息-X启用X11转发可以在本地显示远程主机的图形界面 示例 # 远程登录到主机192.168.0.100使用用户名bob $ ssh bob192.168.0.100 bob192.168.0.100s password: Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 5.4.0-88-generic x86_64)* Documentation: https://help.ubuntu.com* Management: https://landscape.canonical.com* Support: https://ubuntu.com/advantagebobubuntu:~$# 远程登录到主机192.168.0.100使用用户名bob指定端口号2222 $ ssh bob192.168.0.100 -p 2222 bob192.168.0.100s password: Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 5.4.0-88-generic x86_64)* Documentation: https://help.ubuntu.com* Management: https://landscape.canonical.com* Support: https://ubuntu.com/advantagebobubuntu:~$# 远程登录到主机192.168.0.100使用用户名bob指定私钥文件的路径 $ ssh bob192.168.0.100 -i ~/.ssh/id_rsa# 远程登录到主机192.168.0.100使用用户名bob显示详细的连接信息 $ ssh bob192.168.0.100 -v scp:用于在本地和远程主机之间复制文件 scp命令用于在本地和远程主机之间复制文件它可以接受两个或多个参数表示要复制的源文件或目录以及要复制到的目标文件或目录。常用的选项有 -r递归复制目录及其内容-p保留文件的属性如修改时间访问权限等-q不显示复制的过程-P指定远程主机的端口号-i指定私钥文件的路径 示例 # 从本地复制文件file1.txt到远程主机192.168.0.100的用户bob的主目录 $ scp file1.txt bob192.168.0.100: bob192.168.0.100s password: file1.txt 100% 10 10.0KB/s 00:00 # 从本地复制目录dir1及其内容到远程主机192.168.0.100的用户bob的主目录保留文件的属性 $ scp -r -p dir1 bob192.168.0.100: bob192.168.0.100s password: dir1/ 100% 0 0.0KB/s 00:00 dir1/file1.txt 100% 10 10.0KB/s 00:00 dir1/file2.txt 100% 10 10.0KB/s 00:00 # 从远程主机192.168.0.100的用户bob的主目录复制文件file1.txt到本地 $ scp bob192.168.0.100:/file1.txt bob192.168.0.100s password: file1.txt 100% 10 10.0KB/s 00:00 # 从远程主机192.168.0.100的用户bob的主目录复制目录dir1及其内容到本地不显示复制的过程 $ scp -r -q bob192.168.0.100:~/dir1 bob192.168.0.100s password: # 从本地复制文件file1.txt到远程主机192.168.0.100的用户bob的主目录指定端口号2222指定私钥文件的路径 $ scp -P 2222 -i ~/.ssh/id_rsa file1.txt bob192.168.0.100:~ file1.txt 100% 10 10.0KB/s 00:00 curl:用于从或向服务器传输数据 curl命令用于从或向服务器传输数据它可以接受一个或多个参数表示要传输的URL和要传输的数据。常用的选项有 -o将输出保存到指定的文件-O将输出保存到URL中的文件名-s不显示传输的过程-v显示详细的传输信息-L跟随重定向的URL-H添加自定义的请求头-X指定请求的方法如GETPOSTPUT等-d指定请求的数据用于POST或PUT方法-F指定请求的表单数据用于POST方法-u指定请求的用户名和密码 示例 # 从URL https://www.example.com 获取数据并显示到标准输出 $ curl https://www.example.com !doctype html html headtitleExample Domain/title ... /html# 从URL https://www.example.com 获取数据并保存到文件 example.html $ curl -o example.html https://www.example.com# 从URL https://www.example.com/example.html 获取数据并保存到文件 example.html $ curl -O https://www.example.com/example.html# 从URL https://www.example.com 获取数据不显示传输的过程 $ curl -s https://www.example.com !doctype html html headtitleExample Domain/title ... /html# 从URL https://www.example.com 获取数据显示详细的传输信息 $ curl -v https://www.example.com * Trying 93.184.216.34:443... * TCP_NODELAY set * Connected to www.example.com (93.184.216.34) port 443 (#0) * ALPN, offering h2 * ALPN, offering http/1.1 * successfully set certificate verify locations:# 从URL https://www.example.com 获取数据跟随重定向的URL $ curl -L https://www.example.com !doctype html html headtitleExample Domain/title ... /html# 向URL https://www.example.com 发送POST请求添加自定义的请求头指定请求的数据 $ curl -X POST -H Content-Type: application/json -d {name:alice,age:25} https://www.example.com !doctype html html headtitleExample Domain/title ... /html# 向URL https://www.example.com 发送POST请求指定请求的表单数据 $ curl -X POST -F namealice -F age25 https://www.example.com !doctype html html headtitleExample Domain/title ... /html# 向URL https://www.example.com 发送GET请求指定请求的用户名和密码 $ curl -u alice:123456 https://www.example.com !doctype html html headtitleExample Domain/title ... /html gzip:用于压缩和解压缩文件 它是用于压缩和解压缩文件的一个常用的Linux命令。gzip命令的基本语法是 gzip [options] [files]其中options是一些可选的参数用于指定压缩或解压缩的方式和格式。files是要压缩或解压缩的文件名可以是一个或多个。如果不指定files那么gzip会从标准输入读取数据并输出到标准输出。 gzip命令的常用参数有 -c 或 --stdout 或 --to-stdout把压缩后的文件输出到标准输出不改变原始文件。如果有多个输入文件那么输出的压缩文件会由一系列独立的压缩块组成每个压缩块对应一个输入文件。-d 或 --decompress 或 --uncompress解压缩文件。如果有多个输入文件那么每个输入文件都会被解压缩并替换原来的压缩文件。-f 或 --force强制压缩或解压缩文件即使文件名或硬链接已经存在或者文件是符号链接。-h 或 --help显示帮助信息。-k 或 --keep保留原始文件不删除。-l 或 --list显示压缩文件的信息包括压缩比、未压缩大小、压缩大小、未压缩文件名等。-n 或 --no-name压缩文件时不保存原始文件的名称和时间戳。-N 或 --name压缩文件时保存原始文件的名称和时间戳。这是默认的行为除非使用了–no-name参数。-q 或 --quiet不显示警告或错误信息。-r 或 --recursive递归地压缩或解压缩指定的目录下的所有文件。-t 或 --test测试压缩文件的完整性不解压缩文件。-v 或 --verbose显示压缩或解压缩的过程和统计信息。-V 或 --version显示版本信息。-数字指定压缩级别数字范围是1到9其中1表示最快但压缩比最低9表示最慢但压缩比最高。默认的压缩级别是6。–fast和–best分别相当于-1和-9。 gzip命令的一些使用示例 压缩一个文件替换原始文件输出压缩比和统计信息 gzip -v file.txt压缩一个文件保留原始文件指定压缩级别为9 gzip -k -9 file.txt压缩一个目录下的所有文件递归地处理子目录不显示任何信息 gzip -qr dir解压缩一个文件替换原始文件显示解压缩过程 gzip -dv file.txt.gz解压缩一个目录下的所有文件递归地处理子目录不显示任何信息 gzip -dr dir显示一个压缩文件的信息不解压缩文件 gzip -l file.txt.gz测试一个压缩文件的完整性不解压缩文件 gzip -t file.txt.gz从标准输入读取数据压缩后输出到标准输出可以使用重定向符号将输出保存到文件 gzip -c file.txt file.txt.gz从标准输入读取数据解压缩后输出到标准输出可以使用重定向符号将输出保存到文件 gzip -dc file.txt.gz file.txt tar用于创建或解压缩归档文件 tar命令用于创建或解压缩归档文件它可以接受一个或多个参数表示要执行的操作要创建或解压缩的归档文件以及要归档或解压缩的文件或目录。常用的选项有 -c创建归档文件-x解压缩归档文件-f指定归档文件的名称-v显示归档或解压缩的过程-z使用gzip压缩或解压缩归档文件-j使用bzip2压缩或解压缩归档文件-J使用xz压缩或解压缩归档文件 示例 # 创建一个名为archive.tar的归档文件包含文件file1.txt和file2.txt $ tar -c -f archive.tar file1.txt file2.txt# 创建一个名为archive.tar.gz的归档文件使用gzip压缩包含文件file1.txt和file2.txt $ tar -c -z -f archive.tar.gz file1.txt file2.txt# 创建一个名为archive.tar.bz2的归档文件使用bzip2压缩包含文件file1.txt和file2.txt $ tar -c -j -f archive.tar.bz2 file1.txt file2.txt# 创建一个名为archive.tar.xz的归档文件使用xz压缩包含文件file1.txt和file2.txt $ tar -c -J -f archive.tar.xz file1.txt file2.txt# 创建一个名为archive.tar的归档文件包含目录dir1及其内容显示归档的过程 $ tar -c -v -f archive.tar dir1 dir1/ dir1/file1.txt dir1/file2.txt# 解压缩归档文件archive.tar显示解压缩的过程 $ tar -x -v -f archive.tar dir1/ dir1/file1.txt dir1/file2.txt# 解压缩归档文件archive.tar.gz使用gzip解压缩 $ tar -x -z -f archive.tar.gz# 解压缩归档文件archive.tar.bz2使用bzip2解压缩 $ tar -x -j -f archive.tar.bz2# 解压缩归档文件archive.tar.xz使用xz解压缩 $ tar -x -J -f archive.tar.xz chmod:用于修改文件或目录的权限 chmod命令用于修改文件或目录的权限它可以接受一个或多个参数表示要修改的权限要修改的文件或目录。常用的选项有 -R递归修改目录及其内容的权限-v显示修改的过程 示例 # 修改文件file1.txt的权限使得所有者可以读写组成员和其他用户只能读 $ chmod 644 file1.txt# 修改文件file1.txt的权限使得所有者可以读写执行组成员和其他用户只能读执行使用符号表示权限 $ chmod urwx,grx,orx file1.txt# 修改目录dir1及其内容的权限使得所有者可以读写执行组成员和其他用户只能读执行递归修改 $ chmod -R 755 dir1# 修改目录dir1及其内容的权限使得所有者可以读写执行组成员和其他用户只能读执行递归修改显示修改的过程 $ chmod -R -v 755 dir1 mode of dir1 changed from 0777 (rwxrwxrwx) to 0755 (rwxr-xr-x) mode of dir1/file1.txt changed from 0666 (rw-rw-rw-) to 0644 (rw-r--r--) mode of dir1/file2.txt changed from 0666 (rw-rw-rw-) to 0644 (rw-r--r--)chown:用于修改文件或目录的所有者和组 chown命令用于修改文件或目录的所有者和组它可以接受一个或多个参数表示要修改的所有者和组要修改的文件或目录。常用的选项有 -R递归修改目录及其内容的所有者和组-v显示修改的过程 示例 # 修改文件file1.txt的所有者为bob组为staff $ chown bob:staff file1.txt# 修改目录dir1及其内容的所有者为bob组为staff递归修改 $ chown -R bob:staff dir1# 修改目录dir1及其内容的所有者为bob组为staff递归修改显示修改的过程 $ chown -R -v bob:staff dir1 changed ownership of dir1 from alice:alice to bob:staff changed ownership of dir1/file1.txt from alice:alice to bob:staff changed ownership of dir1/file2.txt from alice:alice to bob:staffdf:用于显示磁盘空间的使用情况 df命令用于显示磁盘空间的使用情况它可以接受一个或多个参数表示要显示的文件系统或文件。常用的选项有 -h以可读的格式显示磁盘空间如KMG等-T显示文件系统的类型-a显示所有文件系统包括特殊的文件系统如proctmpfs等 示例 # 显示所有文件系统的磁盘空间使用情况 $ df Filesystem 1K-blocks Used Available Use% Mounted on udev 1009220 0 1009220 0% /dev tmpfs 204920 1408 203512 1% /run /dev/sda1 51199104 9963200 38667664 21% / tmpfs 1024596 0 1024596 0% /dev/shm tmpfs 5120 4 5116 1% /run/lock tmpfs 1024596 0 1024596 0% /sys/fs/cgroup /dev/loop0 56832 56832 0 100% /snap/core18/2128 /dev/loop1 56832 56832 0 100% /snap/core18/2246 /dev/loop2 33152 33152 0 100% /snap/snapd/13270 /dev/loop3 33152 33152 0 100% /snap/snapd/13640 /dev/loop4 72320 72320 0 100% /snap/lxd/21545 /dev/loop5 69248 69248 0 100% /snap/lxd/21029 tmpfs 204916 16 204900 1% /run/user/1000# 显示所有文件系统的磁盘空间使用情况以可读的格式显示 $ df -h Filesystem Size Used Avail Use% Mounted on udev 986M 0 986M 0% /dev tmpfs 201M 1.4M 199M 1% /run /dev/sda1 49G 9.5G 37G 21% / tmpfs 1001M 0 1001M 0% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 1001M 0 1001M 0% /sys/fs/cgroup /dev/loop0 56M 56M 0 100% /snap/core18/2128 /dev/loop1 56M 56M 0 100% /snap/core18/2246 /dev/loop2 33M 33M 0 100% /snap/snapd/13270 /dev/loop3 33M 33M 0 100% /snap/snapd/13640 /dev/loop4 71M 71M 0 100% /snap/lxd/21545 /dev/loop5 68M 68M 0 100% /snap/lxd/21029 tmpfs 201M 16K 201M 1% /run/user/1000# 显示所有文件系统的磁盘空间使用情况显示文件系统的类型 $ df -T Filesystem Type 1K-blocks Used Available Use% Mounted on udev devtmpfs 1009220 0 1009220 0% /dev tmpfs tmpfs 204920 1408 203512 1% /run /dev/sda1 ext4 51199104 9963200 38667664 21% / tmpfs tmpfs 1024596 0 1024596 0% /dev/shm tmpfs tmpfs 5120 4 5116 1% /run/lock tmpfs tmpfs 1024596 0 1024596 0% /sys/fs/cgroup /dev/loop0 squashfs 56832 56832 0 100% /snap/core18/2128 /dev/loop1 squashfs 56832 56832 0 100% /snap/core18/2246 /dev/loop2 squashfs 33152 33152 0 100% /snap/snapd/13270 /dev/loop3 squashfs 33152 33152 0 100% /snap/snapd/13640 /dev/loop4 squashfs 72320 72320 0 100% /snap/lxd/21545 /dev/loop5 squashfs 69248 69248 0 100% /snap/lxd/21029 tmpfs tmpfs 204916 16 204900 1% /run/user/1000# 显示指定的文件系统或文件的磁盘空 # 显示指定的文件系统或文件的磁盘空间使用情况如/dev/sda1或file1.txt $ df /dev/sda1 Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 51199104 9963200 38667664 21% / $ df file1.txt Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 51199104 9963200 38667664 21% / du:用于显示文件或目录的大小 du命令用于显示文件或目录的大小它可以接受一个或多个参数表示要显示的文件或目录。常用的选项有 -h以可读的格式显示文件或目录的大小如KMG等-s只显示总的大小而不显示每个子目录或文件的大小-a显示所有文件和目录的大小而不只是目录的大小 示例 # 显示当前目录及其子目录的大小 $ du 4 ./dir1 8 ./dir2 16 .# 显示当前目录及其子目录的大小以可读的格式显示 $ du -h 4.0K ./dir1 8.0K ./dir2 16K .# 显示当前目录的总大小以可读的格式显示 $ du -s -h 16K .# 显示当前目录及其子目录和文件的大小以可读的格式显示 $ du -a -h 4.0K ./dir1/file4.txt 4.0K ./dir1/file5.txt 4.0K ./dir1 4.0K ./dir2/file6.txt 4.0K ./dir2/file7.txt 8.0K ./dir2 4.0K ./file1.txt 4.0K ./file2.txt 4.0K ./file3.txt 16K .# 显示指定的文件或目录的大小如file1.txt或dir1 $ du file1.txt 4 file1.txt $ du dir1 4 dir1 top:用于显示系统的资源占用情况 top命令用于显示系统的资源占用情况它可以实时更新显示各个进程的信息如PID用户CPU内存命令等。常用的选项有 -d指定刷新的间隔单位是秒-u指定显示某个用户的进程-p指定显示某个进程的信息可以有多个 示例 # 显示系统的资源占用情况实时更新 $ top top - 08:30:10 up 1:05, 1 user, load average: 0.00, 0.01, 0.00 Tasks: 193 total, 1 running, 192 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 1990.9 total, 1080.6 free, 281.4 used, 628.9 buff/cache MiB Swap: 0.0 total, 0.0 free, 0.0 used. 1569.7 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME COMMAND1015 alice 20 0 922952 46296 30616 S 0.0 2.3 0:02.08 gnome-shell826 root 20 0 282976 15732 12304 S 0.0 0.8 0:01.67 Xorg948 alice 20 0 287808 11364 9368 S 0.0 0.6 0:00.14 gnome-session-b971 alice 20 0 111760 9336 7780 S 0.0 0.5 0:00.06 ssh-agent1000 alice 20 0 191484 9164 7840 S 0.0 0.4 0:00.05 ibus-daemon1005 alice 20 0 111508 8940 7560 S 0.0 0.4 0:00.03 ibus-x111008 alice 20 0 109704 8860 7480 S 0.0 0.4 0:00.03 ibus-portal1028 alice 20 0 274300 8796 7264 S 0.0 0.4 0:00.04 at-spi-bus-laun1033 alice 20 0 109704 8760 7380 S 0.0 0.4 0:00.03 ibus-engine-sim1040 alice 20 0 274300 8744 7216 S 0.0 0.4 0:00.04 at-spi-bus-laun1051 alice 20 0 191484 8720 7400 S 0.0 0.4 0:00.04 ibus-daemon1055 alice 20 0 109704 8704 7324 S 0.0 0.4 0:00.03 ibus-engine-sim1060 alice 20 0 109704 8704 7324 S 0.0 0.4 0:00.03 ibus-engine-sim1065 alice 20 0 109704 8704 7324 S 0.0 0.4 0:00.03 ibus-engine-sim1070 alice 20 0 109704 8704 7324 S 0.0 0.4 0:00.03 ibus-engine-sim1075 alice 20 0 109704 8704 7324 S 0.0 0.4 0:00.03 ibus-engine-sim1080 alice 20 0 109704 8704 7324 S 0.0 0.4 0:00.03 ibus-engine-sim1085 alice 20 0 109704 8704 7324 S 0.0 0.4 0:00.03 ibus-engine-sim1090 alice 20 0 109704 8704 7324 S 0.0 0.4 0:00.03 ibus-engine-sim1095 alice 20 0 109704 8704 7324 S 0.0 0.4 0:00.03 ibus-engine-sim# 显示系统的资源占用情况指定刷新的间隔为2秒 $ top -d 2 top - 08:30:12 up 1:05, 1 user, load average: 0.00, 0.01, 0.00 Tasks: 193 total, 1 running, 192 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 1990.9 total, 1080.6 free, 281.4 used, 628.9 buff/cache MiB Swap: 0.0 total, 0.0 free, 0.0 used. 1569.7 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME COMMAND1015 alice 20 0 922952 46296 30616 S 0.0 2.3 0:02.08 gnome-shell826 root 20 0 282976 15732 12304 S 0.0 0.8 0:01.67 Xorg948 alice 20 0 287808 11364 9368 S 0.0 0.6 0:00.14 gnome-session-b971 alice 20 0 111760 9336 7780 S 0.0 0.5 0:00.06 ssh-agent1000 alice 20 0 191484 9164 7840 S 0.0 0.4 0:00.05 ibus-daemon1005 alice 20 0 111508 8940 7560 S 0.0 0.4 0:00.03 ibus-x111008 alice 20 0 109704 8860 7480 S 0.0 0.4 0:00.03 ibus-portal1028 alice 20 0 274300 8796 7264 S 0.0 0.4 0:00.04 at-spi-bus-laun1033 alice 20 0 109704 8760 7380 S 0.0 0.4 0:00.03 ibus free:用于显示内存的使用情况 free命令用于显示内存的使用情况它可以接受一个或多个参数表示要显示的内存类型或单位。常用的选项有 -h以可读的格式显示内存的使用情况如KMG等-t显示总的内存和交换空间的使用情况-m以兆字节为单位显示内存的使用情况-g以吉字节为单位显示内存的使用情况 示例 # 显示内存的使用情况 $ freetotal used free shared buff/cache available Mem: 2038996 281400 1080620 14080 677976 1569748 Swap: 0 0 0# 显示内存的使用情况以可读的格式显示 $ free -htotal used free shared buff/cache available Mem: 1.9Gi 274Mi 1.0Gi 13Mi 662Mi 1.5Gi Swap: 0B 0B 0B# 显示内存的使用情况显示总的内存和交换空间的使用情况 $ free -ttotal used free shared buff/cache available Mem: 2038996 281400 1080620 14080 677976 1569748 Swap: 0 0 0 Total: 2038996 281400 1080620# 显示内存的使用情况以兆字节为单位显示 $ free -mtotal used free shared buff/cache available Mem: 1990 274 1054 13 662 1533 Swap: 0 0 0# 显示内存的使用情况以吉字节为单位显示 $ free -gtotal used free shared buff/cache available Mem: 1 0 1 0 0 1 Swap: 0 0 0date:用于显示或设置系统的日期和时间 date命令用于显示或设置系统的日期和时间它可以接受一个或多个参数表示要显示或设置的日期和时间的格式。常用的选项有 -u显示或设置世界协调时UTC的日期和时间-s设置系统的日期和时间需要root权限-d显示指定的日期和时间而不是当前的日期和时间 示例 # 显示当前的日期和时间 $ date Tue 14 Nov 2023 08:30:14 AM CST# 显示当前的日期和时间以指定的格式显示 $ date %Y-%m-%d %H:%M:%S 2023-11-14 08:30:14# 显示世界协调时UTC的日期和时间 $ date -u Tue 14 Nov 2023 00:30:14 UTC# 设置系统的日期和时间为2023-11-14 08:30:14需要root权限 $ sudo date -s 2023-11-14 08:30:14 Tue 14 Nov 2023 08:30:14 CST# 显示指定的日期和时间如明天的日期和时间 $ date -d tomorrow Wed 15 Nov 2023 08:30:14 AM CST awk:用于对文本进行处理 awk命令用于对文本进行处理它可以接受一个或多个参数表示要执行的脚本要处理的文件或输入。常用的选项有 -F指定输入的分隔符默认是空格-v指定变量的值-f指定脚本文件的路径 示例 # 对文件file1.txt的每一行进行打印 $ awk {print $0} file1.txt# 对文件file1.txt的每一行进行打印只打印第一列 $ awk {print $1} file1.txt# 对文件file1.txt的每一行进行打印只打印第二列指定分隔符为l $ awk -F l {print $2} file1.txt# 对文件file1.txt的每一行进行打印添加行号使用变量NR表示行号 $ awk {print NR,$0} file1.txt# 对文件file1.txt的每一行进行打印添加行号使用变量line表示行号指定变量的值为1 $ awk -v line1 {print line,$0; line} file1.txt# 对文件file1.txt的每一行进行打印使用脚本文件script.awk脚本文件的内容为{print $0} $ awk -f script.awk file1.txtsed:用于对文本进行编辑 sed命令用于对文本进行编辑它可以接受一个或多个参数表示要执行的脚本要编辑的文件或输入。常用的选项有 -e指定要执行的脚本可以有多个-f指定脚本文件的路径-i直接修改文件而不是输出到标准输出-n不显示原始的输入只显示被修改的部分 示例 # 对文件file1.txt的每一行进行替换将Hello替换为Hi并显示到标准输出 $ sed s/Hello/Hi/ file1.txt# 对文件file1.txt的每一行进行替换将Hello替换为Hi直接修改文件 $ sed -i s/Hello/Hi/ file1.txt# 对文件file1.txt的每一行进行替换将Hello替换为Hi只显示被修改的部分 $ sed -n s/Hello/Hi/p file1.txt# 对文件file1.txt的每一行进行替换将Hello替换为Hi使用g选项表示全局替换即替换每一行中的所有匹配 $ sed s/Hello/Hi/g file1.txt# 对文件file1.txt的每一行进行替换将Hello替换为Hi使用符号表示匹配的字符串可以在替换的字符串中使用 $ sed s/Hello/[]/ file1.txt# 对文件file1.txt的每一行进行替换将Hello替换为Hi使用\1表示第一个括号中匹配的字符串可以在替换的字符串中使用 $ sed s/\(Hello\) \(World\)/\2 \1/ file1.txt# 对文件file1.txt的每一行进行删除删除包含Hello的行 $ sed /Hello/d file1.txt# 对文件file1.txt的每一行进行插入插入一行Hi在每一行的前面 $ sed i\Hi file1.txt# 对文件file1.txt的每一行进行追加追加一行Hi在每一行的后面 $ sed a\Hi file1.txt# 对文件file1.txt的每一行进行执行多个脚本使用-e选项指定多个脚本 $ sed -e s/Hello/Hi/ -e s/World/Everyone/ file1.txt# 对文件file1.txt的每一行进行执行脚本文件script.sed脚本文件的内容为s/Hello/Hi/ $ sed -f script.sed file1.txttouch:用于创建空文件或者修改文件的访问和修改时间 touch命令用于创建空文件或者修改文件的访问和修改时间它可以接受一个或多个参数表示要创建或修改的文件。常用的选项有 -a只修改文件的访问时间而不修改文件的修改时间-m只修改文件的修改时间而不修改文件的访问时间-t指定文件的访问和修改时间格式为[[CC]YY]MMDDhhmm[.ss] 示例 # 创建一个空文件file1.txt $ touch file1.txt# 创建多个空文件file2.txt和file3.txt $ touch file2.txt file3.txt# 修改文件file1.txt的访问和修改时间为当前时间 $ touch file1.txt# 只修改文件file1.txt的访问时间为当前时间 $ touch -a file1.txt# 只修改文件file1.txt的修改时间为当前时间 $ touch -m file1.txt# 修改文件file1.txt的访问和修改时间为2023-11-14 08:30:00 $ touch -t 202311140830.00 file1.txtuname:用于获取操作系统的基本信息 uname命令用于获取操作系统的基本信息它可以接受一个或多个参数表示要显示的信息类型。常用的选项有 -a显示所有的信息包括内核名称网络节点名内核版本内核发行号硬件名称处理器类型硬件平台操作系统名称等-s显示内核名称-n显示网络节点名-r显示内核版本-v显示内核发行号-m显示硬件名称-p显示处理器类型-i显示硬件平台-o显示操作系统名称 示例 # 显示操作系统的基本信息 $ uname Linux# 显示所有的信息 $ uname -a Linux alice-pc 5.4.0-90-generic #101-Ubuntu SMP Fri Oct 15 20:00:55 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux# 显示内核名称 $ uname -s Linux# 显示网络节点名 $ uname -n alice-pc# 显示内核版本 $ uname -r 5.4.0-90-generic# 显示内核发行号 $ uname -v #101-Ubuntu SMP Fri Oct 15 20:00:55 UTC 2021# 显示硬件名称 $ uname -m x86_64# 显示处理器类型 $ uname -p x86_64# 显示硬件平台 $ uname -i x86_64# 显示操作系统名称 $ uname -o GNU/Linuxhead:用于从文件顶部返回指定行数 head命令用于从文件顶部返回指定行数它可以接受一个或多个参数表示要显示的文件或行数。常用的选项有 -n指定要显示的行数可以是正数或负数正数表示从顶部开始负数表示从底部开始-c指定要显示的字节数可以是正数或负数正数表示从顶部开始负数表示从底部开始 示例 # 显示文件file1.txt的前10行 $ head file1.txt This is the first line of file1.txt This is the second line of file1.txt This is the third line of file1.txt# 显示文件file1.txt的前5行 $ head -n 5 file1.txt This is the first line of file1.txt This is the second line of file1.txt This is the third line of file1.txt This is the fourth line of file1.txt This is the fifth line of file1.txt# 显示文件file1.txt的除了最后5行之外的所有行 $ head -n -5 file1.txt This is the first line of file1.txt This is the second line of file1.txt This is the third line of file1.txt This is the fourth line of file1.txt This is the fifth line of file1.txt# 显示文件file1.txt的前20个字节 $ head -c 20 file1.txt This is the first l# 显示文件file1.txt的除了最后20个字节之外的所有字节 $ head -c -20 file1.txt This is the first line of file1.txt This is the second line of file1.txt This is the third line of file1.txt This is the fourth line of file1.txt This is the fifth line of file1.txttail:用于从文件底部返回指定行数 tail命令用于从文件底部返回指定行数它可以接受一个或多个参数表示要显示的文件或行数。常用的选项有 -n指定要显示的行数可以是正数或负数正数表示从底部开始负数表示从顶部开始-c指定要显示的字节数可以是正数或负数正数表示从底部开始负数表示从顶部开始-f持续显示文件的最新内容直到按下CtrlC退出 示例 # 显示文件file1.txt的最后10行 $ tail file1.txt This is the fifty-first line of file1.txt This is the fifty-second line of file1.txt This is the fifty-third line of file1.txt This is the fifty-fourth line of file1.txt This is the fifty-fifth line of file1.txt This is the fifty-sixth line of file1.txt This is the fifty-seventh line of file1.txt This is the fifty-eighth line of file1.txt This is the fifty-ninth line of file1.txt This is the sixtieth line of file1.txt# 显示文件file1.txt的最后5行 $ tail -n 5 file1.txt This is the fifty-sixth line of file1.txt This is the fifty-seventh line of file1.txt This is the fifty-eighth line of file1.txt This is the fifty-ninth line of file1.txt This is the sixtieth line of file1.txt# 显示文件file1.txt的除了最后5行之外的所有行 $ tail -n -5 file1.txt This is the first line of file1.txt This is the second line of file1.txt This is the third line of file1.txt This is the fourth line of file1.txt This is the fifth line of file1.txt# 显示文件file1.txt的最后20个字节 $ tail -c 20 file1.txt sixtieth line of file1.txt# 显示文件file1.txt的除了最后20个字节之外的所有字节 $ tail -c -20 file1.txt This is the first line of file1.txt This is the second line of file1.txt This is the third line of file1.txt This is the fourth line of file1.txt ifconfig:用于显示或配置网络接口信息 ifconfig命令用于显示或配置网络接口信息。它可以显示每个网络接口的IP地址、子网掩码、广播地址、MAC地址、MTU值等信息也可以用于修改这些信息或启动或关闭网络接口。 ifconfig命令的语法格式如下 ifconfig [interface] [options]其中interface是要操作的网络接口的名称如eth0、lo等。如果不指定interface那么ifconfig会显示所有网络接口的信息。options是一些可选的参数用于修改网络接口的信息或状态。常用的options有 up启动网络接口down关闭网络接口add addr/prefixlen添加一个IP地址和子网掩码del addr/prefixlen删除一个IP地址和子网掩码hw class address设置MAC地址其中class是网络接口的类型如ether、loop等address是MAC地址mtu N设置MTU值其中N是一个整数 ifconfig命令的示例 # 显示所有网络接口的信息 ifconfig# 显示eth0网络接口的信息 ifconfig eth0# 为eth0网络接口添加一个IP地址和子网掩码 ifconfig eth0 add 192.168.1.100/24# 为eth0网络接口删除一个IP地址和子网掩码 ifconfig eth0 del 192.168.1.100/24# 设置eth0网络接口的MAC地址 ifconfig eth0 hw ether 00:11:22:33:44:55# 设置eth0网络接口的MTU值为1500 ifconfig eth0 mtu 1500# 启动eth0网络接口 ifconfig eth0 up# 关闭eth0网络接口 ifconfig eth0 downnetstat:用于显示网络连接和路由表的信息 netstat命令用于显示网络连接和路由表的信息。它可以显示TCP、UDP、ICMP、IP等协议的连接状态、监听端口、套接字信息等也可以显示路由表、接口统计、多播成员等信息。 netstat命令的语法格式如下 netstat [options]其中options是一些可选的参数用于指定要显示的信息的类型和格式。常用的options有 -a显示所有连接和监听端口-n显示数字形式的IP地址和端口号而不是主机名和服务名-p显示每个连接对应的进程ID和程序名-r显示路由表-i显示网络接口的统计信息-t显示TCP连接-u显示UDP连接-s显示各个协议的统计信息 netstat命令的示例 # 显示所有连接和监听端口 netstat -a# 显示所有TCP连接和监听端口以数字形式显示IP地址和端口号并显示对应的进程ID和程序名 netstat -antp# 显示所有UDP连接和监听端口以数字形式显示IP地址和端口号并显示对应的进程ID和程序名 netstat -anup# 显示路由表 netstat -r# 显示网络接口的统计信息 netstat -i# 显示各个协议的统计信息 netstat -sroute:用于显示和修改网络路由表 route命令用于显示和修改网络路由表。它可以显示当前系统的路由表也可以用于添加、删除或修改路由条目。 route命令的语法格式如下 route [options] [command]其中options是一些可选的参数用于指定要显示或修改的路由表的类型。常用的options有 -n显示数字形式的IP地址和网关而不是主机名-e显示扩展的路由表包括MSS、窗口、IRTT等信息-A family指定要显示或修改的路由表的协议族如inet、inet6等 command是要执行的操作可以是以下之一 add添加一条路由del删除一条路由change修改一条路由 如果不指定command那么route会显示当前的路由表。 route命令的示例 # 显示当前的路由表以数字形式显示IP地址和网关 route -n# 添加一条默认路由网关为192.168.1.1网络接口为eth0 route add default gw 192.168.1.1 eth0# 删除一条默认路由 route del default# 添加一条静态路由目的网络为10.0.0.0/24网关为192.168.1.2网络接口为eth0 route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.1.2 eth0# 删除一条静态路由 route del -net 10.0.0.0 netmask 255.255.255.0# 添加一条静态路由目的主机为10.0.0.1网关为192.168.1.2网络接口为eth0 route add -host 10.0.0.1 gw 192.168.1.2 eth0# 删除一条静态路由 route del -host 10.0.0.1traceroute:用于显示数据包到达目的地的路径 traceroute命令用于显示数据包到达目的地的路径。它可以显示数据包经过的每个路由器的IP地址、主机名、往返时间等信息从而帮助我们分析网络的连通性和性能。 traceroute命令的语法格式如下 traceroute [options] destination其中destination是要发送数据包的目的地可以是IP地址或主机名。options是一些可选的参数用于指定发送数据包的方式和显示结果的格式。常用的options有 -n显示数字形式的IP地址而不是主机名-m max_ttl指定数据包的最大跳数即经过的最多路由器的数量默认为30-q nqueries指定每个跳数发送的数据包的数量默认为3-w waittime指定等待每个路由器回应的最长时间单位为秒默认为5-I使用ICMP协议发送数据包需要root权限-T使用TCP协议发送数据包需要root权限-U使用UDP协议发送数据包这是默认的方式 traceroute命令的示例 # 显示数据包到达www.baidu.com的路径使用UDP协议发送数据包 traceroute www.baidu.com# 显示数据包到达8.8.8.8的路径使用ICMP协议发送数据包显示数字形式的IP地址 traceroute -n -I 8.8.8.8# 显示数据包到达www.google.com的路径使用TCP协议发送数据包指定最大跳数为20每个跳数发送2个数据包等待回应的最长时间为3秒 traceroute -T -m 20 -q 2 -w 3 www.google.com wget:用于从互联网直接下载文件 wget命令用于从互联网直接下载文件它可以接受一个或多个参数表示要下载的文件的URL或选项。常用的选项有 -O指定下载文件的输出文件名如果不指定则使用URL中的文件名-c继续下载之前未完成的文件而不是重新开始下载-b在后台模式下载文件不占用终端-q静默模式下载文件不显示任何信息-i从指定的文件中读取URL列表每行一个URL 示例 # 下载一个文件使用URL中的文件名 $ wget https://example.com/file1.txt# 下载一个文件指定输出文件名为file2.txt $ wget -O file2.txt https://example.com/file1.txt# 继续下载之前未完成的文件 $ wget -c https://example.com/file1.txt# 在后台模式下载文件不占用终端 $ wget -b https://example.com/file1.txt# 静默模式下载文件不显示任何信息 $ wget -q https://example.com/file1.txt# 从指定的文件中读取URL列表每行一个URL $ cat url-list.txtufw:用于管理防火墙 ufw命令用于管理防火墙它可以接受一个或多个参数表示要执行的操作或选项。常用的选项有 enable启用防火墙disable禁用防火墙status显示防火墙的状态和规则allow允许指定的端口或服务通过防火墙deny拒绝指定的端口或服务通过防火墙delete删除指定的规则 示例 # 启用防火墙 $ sudo ufw enable Firewall is active and enabled on system startup# 禁用防火墙 $ sudo ufw disable Firewall stopped and disabled on system startup# 显示防火墙的状态和规则 $ sudo ufw status Status: activeTo Action From -- ------ ---- 22/tcp ALLOW Anywhere 80/tcp ALLOW Anywhere 443/tcp ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6) 80/tcp (v6) ALLOW Anywhere (v6) 443/tcp (v6) ALLOW Anywhere (v6)# 允许端口80通过防火墙 $ sudo ufw allow 80 Rule added Rule added (v6)# 拒绝端口25通过防火墙 $ sudo ufw deny 25 Rule added Rule added (v6)# 删除拒绝端口25的规则 $ sudo ufw delete deny 25 Rule deleted Rule deleted (v6)apt、pacman、yum、rpm:管理软件包的工具 这些命令都是用于管理软件包的工具它们可以安装卸载更新查询软件包。不同的Linux发行版使用不同的包管理器例如 Ubuntu和Debian使用aptArch Linux和Manjaro使用pacmanRed Hat和CentOS使用yumFedora和SUSE使用rpm 这些命令的用法和选项有些差异但是基本的功能和逻辑都是类似的。下面我会以apt为例介绍一些常用的操作和选项其他的包管理器你可以参考[这个网站]进行比较和学习。 apt apt命令是Ubuntu和Debian的包管理器它可以接受一个或多个参数表示要执行的操作或选项。常用的操作有 install安装指定的软件包或更新已安装的软件包remove卸载指定的软件包但保留其配置文件purge卸载指定的软件包并删除其配置文件update更新软件包的列表从软件源获取最新的信息upgrade更新所有已安装的软件包安装最新的版本search搜索软件包的名称或描述找到匹配的软件包show显示指定的软件包的详细信息如版本大小依赖等 常用的选项有 -y自动回答所有的提示不需要用户确认-s模拟模式只显示要执行的操作但不实际执行-f修复模式尝试修复依赖关系或损坏的软件包-q安静模式只显示错误和警告不显示其他信息 # 安装一个软件包如vim $ sudo apt install vim# 卸载一个软件包如vim但保留其配置文件 $ sudo apt remove vim# 卸载一个软件包如vim并删除其配置文件 $ sudo apt purge vim pacman 它是Arch Linux和Manjaro的包管理器它可以接受一个或多个参数表示要执行的操作或选项。常用的操作有 -S安装指定的软件包或组或者从软件源同步数据库-R卸载指定的软件包或组或者删除孤立的软件包-U安装本地的软件包文件-Q查询已安装的软件包或组或者显示软件包的信息-Ss搜索软件包的名称或描述找到匹配的软件包-Syu更新所有已安装的软件包安装最新的版本 常用的选项有 -y刷新软件源数据库-u升级所有已安装的软件包-q安静模式只显示必要的信息-s搜索模式根据关键字查找软件包-i显示软件包的详细信息如版本大小依赖等 示例 # 安装一个软件包如vim $ sudo pacman -S vim# 卸载一个软件包如vim $ sudo pacman -R vim# 查询已安装的软件包或组如vim或base $ pacman -Q vim vim 8.2.3458-1 $ pacman -Q base base 2-2# 显示软件包的详细信息如vim $ pacman -Qi vim# 搜索软件包的名称或描述找到匹配的软件包如vim $ pacman -Ss vimyum 它是Red Hat和CentOS的包管理器它可以接受一个或多个参数表示要执行的操作或选项。常用的操作有 install安装指定的软件包或组或者从软件源同步数据库remove卸载指定的软件包或组或者删除孤立的软件包update更新所有已安装的软件包安装最新的版本search搜索软件包的名称或描述找到匹配的软件包info显示指定的软件包或组的详细信息如版本大小依赖等list列出软件源中的所有软件包或组或者已安装的软件包或组 常用的选项有 -y自动回答所有的提示不需要用户确认-q安静模式只显示必要的信息-v详细模式显示更多的信息 示例 # 安装一个软件包如vim $ sudo yum install vim useradd创建新用户 useradd命令用于在Linux系统中创建新的用户账号。创建用户账号时可以指定一些选项如用户ID用户组登录目录登录Shell等。创建用户账号后还需要使用passwd命令为用户设置密码。 useradd命令的语法格式如下 useradd [选项] 用户名常用的选项有 -c添加备注文字通常是用户的全名或者其他描述信息。-d指定用户的登录目录如果不存在则自动创建。-e指定用户的有效期限格式为YYYY-MM-DD。-f指定在密码过期后多少天即关闭该账号0表示立即关闭-1表示永不关闭。-g指定用户所属的基本用户组可以是用户组名或用户组ID。-G指定用户所属的附加用户组可以是一个或多个用户组名或用户组ID以逗号分隔。-m创建用户的登录目录如果指定了-d选项则以-d选项为准。-M不创建用户的登录目录即使系统默认值要求创建。-n不创建以用户名为名的用户组。-r创建系统账号系统账号的用户ID小于500且没有登录目录。-s指定用户的默认Shell可以是Shell的绝对路径或名称如/bin/bash或bash。-u指定用户的用户ID必须是唯一的且大于等于500除非指定了-r选项。 useradd命令的示例 # 创建一个普通用户用户名为alice用户组为users登录目录为/home/alice登录Shell为/bin/bash useradd -g users -d /home/alice -s /bin/bash alice# 创建一个系统用户用户名为backup用户ID为999没有登录目录登录Shell为/sbin/nologin useradd -r -u 999 -s /sbin/nologin backupusermod修改现有用户 usermod命令用于修改现有用户的账号信息如用户ID用户组登录目录登录Shell等。修改用户信息时需要确保用户没有登录没有运行任何进程。 usermod命令的语法格式如下 usermod [选项] 用户名常用的选项有 -c修改用户的备注文字。-d修改用户的登录目录如果指定了-m选项则同时移动用户的旧目录内容到新目录。-e修改用户的有效期限格式为YYYY-MM-DD。-f修改在密码过期后多少天即关闭该账号0表示立即关闭-1表示永不关闭。-g修改用户所属的基本用户组可以是用户组名或用户组ID。-G修改用户所属的附加用户组可以是一个或多个用户组名或用户组ID以逗号分隔。如果不带任何用户组则删除用户的所有附加用户组。-l修改用户的用户名需要确保新用户名不存在。-L锁定用户的密码使密码无效。-m移动用户的登录目录需要与-d选项一起使用。-o允许修改用户的用户ID为一个已经存在的用户ID。-p修改用户的密码需要使用加密后的密码字符串可以使用openssl命令生成。-s修改用户的登录Shell可以是Shell的绝对路径或名称如/bin/bash或bash。-u修改用户的用户ID需要确保新用户ID不存在。-U解锁用户的密码使密码恢复有效。 usermod命令的示例 # 修改用户alice的用户名为bob同时移动其登录目录和邮件目录 usermod -l bob -m -d /home/bob alice# 修改用户bob的用户ID为888同时修改其基本用户组为staff usermod -u 888 -g staff bob# 修改用户bob的密码为123456加密后的字符串 usermod -p $(openssl passwd -1 123456) bob# 锁定用户bob的密码不允许登录 usermod -L bobgroupadd创建新用户组 groupadd命令用于在Linux系统中创建新的用户组。创建用户组时可以指定一些选项如用户组ID用户组密码等。创建用户组后可以使用useradd或usermod命令将用户添加到用户组中。 groupadd命令的语法格式如下 groupadd [选项] 用户组名常用的选项有 -f如果用户组已经存在则不报错直接退出。-g指定用户组的用户组ID必须是唯一的且大于等于500。-K覆盖配置文件/etc/login.defs中的设置。-o允许创建用户组ID不唯一的用户组。-p指定用户组的密码需要使用加密后的密码字符串可以使用openssl命令生成。-r创建系统用户组系统用户组的用户组ID小于500。 groupadd命令的示例 # 创建一个普通用户组用户组名为dev用户组ID为600 groupadd -g 600 dev# 创建一个系统用户组用户组名为sys用户组ID为999 groupadd -r -g 999 sys# 创建一个用户组用户组名为admin用户组密码为123456加密后的字符串 groupadd -p $(openssl passwd -1 123456) admingroupmod修改现有用户组 groupmod命令用于修改现有用户组的属性如用户组名用户组ID用户组密码等。修改用户组信息时需要确保用户组没有被任何进程使用。 groupmod命令的语法格式如下 groupmod [选项] 用户组名常用的选项有 -g修改用户组的用户组ID需要确保新用户组ID不存在。-n修改用户组的用户组名需要确保新用户组名不存在。-o允许修改用户组的用户组ID为一个已经存在的用户组ID。-p修改用户组的密码需要使用加密后的密码字符串可以使用openssl命令生成。 groupmod命令的示例 # 修改用户组dev的用户组ID为700 groupmod -g 700 dev# 修改用户组dev的用户组名为develop groupmod -n develop dev# 修改用户组develop的密码为654321加密后的字符串 groupmod -p $(openssl passwd -1 654321) developsudo以超级用户身份运行命令 sudo命令用于以超级用户root的身份运行指定的命令通常需要输入当前用户的密码进行验证。sudo命令可以让普通用户执行一些或者全部的root命令如haltrebootshutdowninit等等。sudo命令的授权信息保存在/etc/sudoers文件中可以使用visudo命令编辑该文件。 你好这是必应。我可以帮你写一篇博客介绍sudo命令它是一个用于以超级用户身份运行命令的Linux命令。请看我的回答 Linux命令介绍sudo Linux系统中有些命令只能由超级用户root执行如haltrebootshutdowninit等。如果普通用户想要执行这些命令就需要使用sudo命令。sudo命令可以让系统管理员授权一些或全部的root权限给普通用户从而提高系统的安全性和灵活性。 sudo的基本用法 sudo命令的基本语法格式如下 sudo [选项] [命令]其中命令是要以超级用户身份执行的命令可以是任何有效的Linux命令。选项是一些可选的参数用于指定sudo的行为和设置。常用的选项有 -b在后台运行命令不占用终端。-h显示帮助信息。-l显示当前用户可以执行的命令列表。-u指定要切换的用户可以是用户名或用户ID。默认是root。-v更新当前用户的认证时间戳延长sudo的有效期。-k使当前用户的认证时间戳失效下次使用sudo时需要重新输入密码。-s启动一个Shell以指定的用户身份运行。默认是root。-i启动一个登录Shell以指定的用户身份运行。默认是root。-p指定密码提示符可以使用一些转义字符如%u表示用户名%h表示主机名等。-S从标准输入读取密码而不是从终端。-n在没有终端的情况下运行命令如果需要输入密码则失败。-H设置HOME环境变量为目标用户的家目录。-E保留当前用户的环境变量而不是重置为默认值。-C关闭大于或等于指定的文件描述符号。-V显示版本信息。 下面给出一些sudo命令的使用示例以说明sudo的功能和用法。 以超级用户身份执行ls命令查看根目录的内容 sudo ls /以用户bob的身份执行whoami命令显示当前用户名 sudo -u bob whoami以超级用户身份执行apt update命令更新软件包列表不需要输入密码 sudo -n apt update以超级用户身份启动一个登录Shell使用root的环境变量和家目录 sudo -i显示当前用户可以执行的命令列表 sudo -l使当前用户的认证时间戳失效下次使用sudo时需要重新输入密码 sudo -k
http://www.hkea.cn/news/14482359/

相关文章:

  • 实惠的网站建设公司福州+网站建设+医疗
  • 咨询网站 模板网站推广的六种方式
  • 清丰网站建设公司网站如何做3d产品展示
  • 男女做羞羞完整版网站东莞做营销网站建设
  • 做电商网站的参考书营销型外贸网站制作
  • 怎样做网站的快捷方式wordpress中设置ajax分页
  • 网站网页设计制作建设厅试验员考试报名网站
  • 临夏州住房和城乡建设局网站wordpress 赞
  • 广州网站建设菲利宾云商网络综合服务
  • wap网站服务器济南网站制作培训班
  • 安装wordpress报错seo推广网络
  • 网站 图片 自动往右移网站图片上传功能怎么做的
  • seo网站推广可以自己搞吗好听的设计公司名字
  • 微信广告平台南昌seo排名收费
  • 楼盘价格哪个网站做的好如何设置网站域名
  • wordpress如何自建站成都服务器租赁
  • 阿里巴巴 网站设计做网站销售好累
  • 怎么在百度上建立网站安全可信网站
  • 辽宁网站建设学校吴堡网站建设费用
  • 如何免费建设一个网站中国建设学会网站
  • wordpress 阿里短信关键词优化公司哪家强
  • 做美容网站公司qq空间注册申请
  • 甘肃企业网站备案网站开发外贸
  • 如何做网站更新厦门企业app开发
  • 合肥网站建设的公司哪家好网站本地建设
  • 做的非常好的网站案例中国求购信息网
  • 产品型网站案例腾讯免费网站建设
  • 建筑装饰和网站建设哪个好软文外链代发
  • 网站seo入门基础教程书籍农业信息网站建设
  • 扬中网站建设开发郑州建站优化