Linux基础命令大全
史上最硬核的Linux命令大全,还没有收藏吗?
新网工李白
运维领域作者
共发布8篇文章
关注
新网工李白
运维领域作者
共发布8篇文章
关注
前言
经兄弟们要求我连夜整理出一篇 Linux 号召集合,还请兄弟们一键三联点赞关注??
为什么要学习Linux命令?
现在企业有超过 80% 甚至更多的系统都是 Linux 操作系统,所以不管是做开发还是运维,不会点 Linux 知识是无法进入企业里工作的。而且,很多企业的工作职责里要写需要精通Linux。
空值
Linux的从业方向也比较广,主要分为 运维 和 开发 ,下来就数不胜数,基本都涉及到,因此学好Linux刻画的很浅。
空值
本文将全部完整工作多年所学的Linux常用命令的汇总!超!超详细!超详细!
??总结汇总
??文件管理
1?? ls 命令 – 显示指定的工作目录下的内容及属性信息
ls 命令的英文单词列表,目录为英文单词列表的英文,其功能是指定下的内容及其相关属性信息。
基本状态下,我可能会现在当前目录的内容。 之后,我们可以用 ls 做更多的事情。最合适的时候,接下来一起看看吧!
语法:
★语法格式:ls [选项] [文件]
”
常用词:
参数-描述-显示所有文件及目录(包括“。”开头的文件)-l 使用默认格式文件及文件-r 将文件隐藏目录信息(依英文文字图片显示)-t可知的修改时间排序-A 同 -a ,但不表示“。” (当前目录)及“..”(父目录)-S根据文件大小排序-R开始所有子目录
参考实例:
所有相关文件(包括隐藏文件):
ls -a
一份文件的详细信息:
ls -l
目录根目录(/)下的所有目录:
ls /
当前当前工作目录下所有名称是“s”开头的文件(不包含文件夹哦~):
ls -ltr s*
列出 /root 目录下的所有目录及文件的详细信息 :
ls -lR /root
列出当前工作目录下所有文件及目录并以文件的大小进行排序 :
ls -AS
2?? cp 命令 – 复制文件或目录
cp 命令可以理解为英文单词 copy 的缩写,其功能为复制文件或目录。
cp 命令可以将多个文件复制到一个具体的文件名或一个已经存在的目录下,也可以同时复制多个文件到一个指定的目录中。
语法:
★语法格式:cp [参数] [文件]
”
常用参数:
参数描述-f 若目标文件已存在,则会直接覆盖原文件-i 若目标文件已存在,则会询问是否覆盖-p 保留源文件或目录的所有属性-r 递归复制文件和目录-d 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录-l 对源文件建立硬连接,而非复制文件-s 对源文件建立符号连接,而非复制文件-b 覆盖已存在的文件目标前将目标文件备份-v 详细显示 cp 命令执行的操作过程-a 等价于“dpr”选项
参考实例:
复制目录:
cp -R dir1 dir2/
将文件 test1 改名为 test2:
cp -f test1 test2
复制多个文件:
cp -r file1 file2 file3 dir
交互式地将目录 /home/lucifer 中的所有.c 文件复制到目录 dir 中:
cp -r /home/lucifer/*.c dir
3?? mkdir 命令 – 创建目录
mkdir 命令是“make directories”的缩写,用来创建目录。
?? 注意: 默认状态下,如果要创建的目录已经存在,则提示已存在,而不会继续创建目录。所以在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。mkdir 命令还可以同时创建多个目录,是不是很强大呢?
语法:
★语法格式 : mkdir [参数] [目录]
”
常用参数:
参数描述-p 递归创建多级目录-m 建立目录的同时设置目录的权限-z 设置安全上下文-v 显示目录的创建过程
参考实例:
在工作目录下,建立一个名为 dir 的子目录:
mkdir dir
在目录/home/lucifer 下建立子目录 dir,并且设置文件属主有读、写和执行权限,其他人无权访问:
mkdir -m 700 /home/lucifer/dir
同时创建子目录 dir1,dir2,dir3:
mkdir dir1 dir2 dir3
递归创建目录:
mkdir -p lucifer/dir
4?? mv 命令 – 移动或改名文件
mv 命令是“move”单词的缩写,其功能大致和英文含义一样,可以移动文件或对其改名。
这是一个使用频率超高的文件管理命令,我们需要特别留意它与复制的区别:mv 与 cp 的结果不同。mv 命令好像文件“搬家”,文件名称发生改变,但个数并未增加。而 cp 命令是对文件进行复制操作,文件个数是有增加的。
语法:
★语法格式:mv [参数]
”
常用参数:
参数描述-i 若存在同名文件,则向用户询问是否覆盖-f 覆盖已有文件时,不进行任何提示-b 当文件存在时,覆盖前为其创建一个备份-u 当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作
参考实例:
将文件 file_1 重命名为 file_2:
mv file_1 file_2
将文件 file 移动到目录 dir 中 :
mv file /dir
将目录 dir1 移动目录 dir2 中(前提是目录 dir2 已存在,若不存在则改名):
mv /dir1 /dir2
将目录 dir1 下的文件移动到当前目录下:
mv /dir1/* .
5?? pwd 命令 – 显示当前路径
pwd 命令是“print working directory”中每个单词的首字母缩写,其功能正如所示单词一样,为打印工作目录,即显示当前工作目录的绝对路径。
在实际工作中,我们经常会在不同目录之间进行切换,为了防止“迷路”,我们可以使用 pwd 命令快速查看当前我们所在的目录路径。
语法:
★语法格式: pwd [参数]
”
常用参数:
参数描述-L 显示逻辑路径
参考实例:
查看当前工作目录路径:
pwd
?? 文档编辑
1?? cat 命令 – 在终端设备上显示文件内容
cat 这个命令也很好记,因为 cat 在英语中是“猫”的意思,小猫咪是不是给您一种娇小、可爱的感觉呢?
?? 注意: 当文件内容较大时,文本内容会在屏幕上快速闪动(滚屏),用户往往看不清所显示的具体内容。
因此对于较长文件内容可以:
按 Ctrl+S 键,停止滚屏;
按 Ctrl+Q 键可以恢复滚屏;
按 Ctrl+C(中断)键则可以终止该命令的执行。
或者对于大文件,干脆用 more 命令吧!
语法:
★语法格式:cat [参数] [文件]
”
常用参数:
参数描述-n 显示行数(空行也编号)-s 显示行数(多个空行算一个编号)-b 显示行数(空行不编号)-E 每行结束处显示$符号-T 将 TAB 字符显示为 ^I 符号-v 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外-e 等价于”-vE”组合-t 等价于”-vT”组合-A 等价于 -vET 组合--help 显示帮助信息--version 显示版本信息
参考实例:
查看文件的内容:
cat lucifer.log
查看文件的内容,并显示行数编号:
cat -n lucifer.log
查看文件的内容,并添加行数编号后输出到另外一个文件中:
cat -n lucifer.log > lucifer.txt
清空文件的内容:
cat /dev/null > /root/lucifer.txt
持续写入文件内容,碰到 EOF 符后结束并保存:
cat > lucifer.txt < Hello, World Linux! EOF 将软盘设备制作成镜像文件: cat /dev/fb0 > fdisk.iso 2?? echo 命令 – 输出字符串或提取 Shell 变量的值 人们一般使用在变量前加上符号的方式提取出变量的值,例: PATH,然后再用 echo 命令予以输出。或者直接使用 echo 命令输出一段字符串到屏幕上,起到给用户提示的作用。 语法: ★语法格式:echo [参数] [字符串] 参数描述-n 不输出结尾的换行符-e “\a”发出警告音-e “\b”删除前面的一个字符-e “\c”结尾不加换行符-e “\f”换行,光标扔停留在原来的坐标位置-e “\n”换行,光标移至行首-e “\r”光标移至行首,但不换行-E 禁止反斜杠转移,与-e 参数功能相反—version 查看版本信息--help 查看帮助信息 参考实例: 输出一段字符串: echo "Hello Lucifer" 输出变量提取后的值: echo $PATH 对内容进行转义,不让$符号的提取变量值功能生效: echo \$PATH 结合输出重定向符,将字符串信息导入文件中: echo "It is a test" > lucifer 使用反引号符执行命令,并输出其结果到终端: echo `date` 输出带有换行符的内容: echo -e "a\nb\nc" 输出信息中删除某个字符,注意看数字 3 消失了: echo -e "123\b456" 3?? rm 命令 – 移除文件或目录 ?? 注意: rm 也是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行 rm * -rf)。 所以,我们在执行 rm 之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。 语法: ★语法格式:rm [参数] [文件] 参数描述-f 忽略不存在的文件,不会出现警告信息-i 删除前会询问用户是否操作-r/R 递归删除-v 显示指令的详细执行过程 参考实例: 删除前逐一询问确认: rm -i test.txt.bz2 直接删除,不会有任何提示: rm -f test.txt.bz2 递归删除目录及目录下所有文件: mkdir /data/log rm -rf /data/log 删除当前目录下所有文件: rm -rf * 清空系统中所有的文件(谨慎): rm -rf /* 4?? tail 命令 – 查看文件尾部内容 语法: ★语法格式:tail [参数] 参数描述--retry 即是在 tail 命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项“——follow=name”连用-c 或---bytes=输出文件尾部的 N(N 为整数)个字节内容-f--follow:显示文件最新追加的内容-F 与选项“-follow=name”和“--retry”连用时功能相同-n 或---line=输出文件的尾部 N(N 位数字)行内容--pid=<进程号>与“-f”选项连用,当指定的进程号的进程终止后,自动退出 tail 命令--help 显示指令的帮助信息--version 显示指令的版本信息 参考实例: 显示文件 file 的最后 10 行: tail file 显示文件 file 的内容,从第 20 行至文件末尾: tail +20 file 显示文件 file 的最后 10 个字符: tail -c 10 file 一直变化的文件总是显示后 10 行: tail -f 10 file 显示帮助信息: tail --help 5?? rmdir 命令 – 删除空目录 注意:rmdir 命令只能删除空目录。当要删除非空目录时,就要使用带有“-R”选项的 rm 命令。 rmdir 命令的“-p”参数可以递归删除指定的多级目录,但是要求每个目录也必须是空目录。 语法: ★语法格式 : rmdir [参数] [目录名称] 参数描述-p 用递归的方式删除指定的目录路径中的所有父级目录,非空则报错--ignore-fail-on-non-empty 忽略由于删除非空目录时导致命令出错而产生的错误信息-v 显示命令的详细执行过程--help 显示命令的帮助信息--version 显示命令的版本信息 参考实例: 删除空目录: rmdir dir 递归删除指定的目录树: rmdir -p dir/dir_1/dir_2 显示指令详细执行过程: rmdir -v dir 显示命令的版本信息: rmdir --version ?? 系统管理 概括的说,rpm 命令包含了五种基本功能:安装、卸载、升级、查询和验证。 语法: ★语法格式:rpm [参数] [软件包] 参数描述-a 查询所有的软件包-b 或-t 设置包装套件的完成阶段,并指定套件档的文件名称-c 只列出组态配置文件,本参数需配合”-l”参数使用-d 只列出文本文件,本参数需配合”-l”参数使用-e 或--erase 卸载软件包-f 查询文件或命令属于哪个软件包-h 或--hash 安装软件包时列出标记-i 显示软件包的相关信息--install 安装软件包-l 显示软件包的文件列表-p 查询指定的 rpm 软件包-q 查询软件包-R 显示软件包的依赖关系-s 显示文件状态,本参数需配合”-l”参数使用-U 或--upgrade 升级软件包-v 显示命令执行过程-vv 详细显示指令执行过程 参考实例: 直接安装软件包: rpm -ivh packge.rpm 忽略报错,强制安装: rpm --force -ivh package.rpm 列出所有安装过的包: rpm -qa 查询 rpm 包中的文件安装的位置: rpm -ql ls 卸载 rpm 包: rpm -e package.rpm 升级软件包: rpm -U file.rpm 2?? find 命令 – 查找和搜索文件 find 如不加任何参数,表示查找当前路径下的所有文件和目录,如果服务器负载比较高尽量不要在高峰期使用 find 命令,find 命令模糊搜索还是比较消耗系统资源的。 语法: ★语法格式:find [参数] [路径] [查找和搜索范围] 参数描述-name 按名称查找-size 按大小查找-user 按属性查找-type 按类型查找-iname 忽略大小写 参考实例: 使用-name 参数查看/etc 目录下面所有的.conf 结尾的配置文件: find /etc -name "*.conf 使用-size 参数查看/etc 目录下面大于 1M 的文件: find /etc -size +1M 查找当前用户主目录下的所有文件: find $HOME -print 列出当前目录及子目录下所有文件和文件夹: find . 在/home 目录下查找以.txt 结尾的文件名: find /home -name "*.txt" 在/var/log 目录下忽略大小写查找以.log 结尾的文件名: find /var/log -iname "*.log" 搜索超过七天内被访问过的所有文件: find . -type f -atime +7 搜索访问时间超过 10 分钟的所有文件: find . -type f -amin +10 找出/home 下不是以.txt 结尾的文件: find /home ! -name "*.txt" 3?? startx 命令 – 初始化 X-windows 语法: ★语法格式:startx [参数] 参数描述-d 指定在启动过程中传递给客户机的 X 服务器的显示名称-m 当未找到启动脚本时,启动窗口管理器-r 当未找到启动脚本时,装入资源文件-w 强制启动-x 使用 startup 脚本启动 X-windows 会话 参考实例: 已默认方式启动 X-windows 系统: startx 以 16 位颜色深度启动 X-windows 系统: startx --depth 16 强制启动 X-windows 系统: startx -w 4?? uname 命令 – 显示系统信息 用于显示系统相关信息,比如主机名、内核版本号、硬件架构等。 如果未指定任何选项,其效果相当于执行”uname -s”命令,即显示系统内核的名字。 语法: ★语法格式:uname [参数] 参数描述-a 显示系统所有相关信息-m 显示计算机硬件架构-n 显示主机名称-r 显示内核发行版本号-s 显示内核名称-v 显示内核版本-p 显示主机处理器类型-o 显示操作系统名称-i 显示硬件平台 参考实例: 显示系统主机名、内核版本号、CPU 类型等信息: uname -a 仅显示系统主机名: uname -n 显示当前系统的内核版本 : uname -r 显示当前系统的硬件架构: uname -i 5?? vmstat 命令 – 显示虚拟内存状态 语法: ★语法格式:vmstat [参数] 参数描述-a 显示活动内页-f 显示启动后创建的进程总数-m 显示 slab 信息-n 头信息仅显示一次-s 以表格方式显示事件计数器和内存状态-d 报告磁盘状态-p 显示指定的硬盘分区状态-S 输出信息的单位 参考实例: 显示活动内页: vmstat -a 显示启动后创建的进程总数: vmstat -f 显示 slab 信息: vmstat -m 头信息仅显示一次: vmstat -n 以表格方式显示事件计数器和内存状态: vmstat -s 显示指定的硬盘分区状态: vmstat -p /dev/sda1 指定状态信息刷新的时间间隔为 1 秒: vmstat 1 ?? 磁盘管理 日常普遍用该命令可以查看磁盘被占用了多少空间、还剩多少空间等信息。 语法: ★语法格式:df [参数] [指定文件] 参数描述-a 显示所有系统文件-B<块大小> 指定显示时的块大小-h 以容易阅读的方式显示-H 以 1000 字节为换算单位来显示-i 显示索引字节信息-k 指定块大小为 1KB-l 只显示本地文件系统-t<文件系统类型> 只显示指定类型的文件系统-T 输出时显示文件系统类型-- -sync 在取得磁盘使用信息前,先执行 sync 命令 参考实例: 显示磁盘分区使用情况: df 以容易阅读的方式显示磁盘分区使用情况: df -h 显示指定文件所在分区的磁盘使用情况: df /etc/dhcp 显示文件类型为 ext4 的磁盘使用情况: df -t ext4 2?? fdisk 命令 – 磁盘分区 语法: ★语法格式:fdisk [参数] 参数描述-b 指定每个分区的大小-l 列出指定的外围设备的分区表状况-s 将指定的分区大小输出到标准输出上,单位为区块-u 搭配”-l”参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址-v 显示版本信息 参考实例: 查看所有分区情况: fdisk -l 选择分区磁盘: fdisk /dev/sdb 在当前磁盘上建立扩展分区: fdisk /ext 不检查磁盘表面加快分区操作: fdisk /actok 重建主引导记录: fdisk /cmbr 3?? lsblk 命令 – 查看系统的磁盘 lsblk 命令包含在 util-linux-ng 包中,现在该包改名为 util-linux。 语法: ★语法格式:lsblk [参数] 参数描述-a 显示所有设备-b 以 bytes 方式显示设备大小-d 不显示 slaves 或 holders-Dprint discard capabilities-e 排除设备-f 显示文件系统信息-h 显示帮助信息-iuse ascii characters only-m 显示权限信息-l 使用列表格式显示-n 不显示标题-o 输出列-P 使用 key=”value”格式显示-r 使用原始格式显示-t 显示拓扑结构信息 参考实例: lsblk 命令默认情况下将以树状列出所有块设备: lsblk 默认选项不会列出所有空设备: lsblk -a 也可以用于列出一个特定设备的拥有关系,同时也可以列出组和模式: lsblk -m 要获取 SCSI 设备的列表,你只能使用-S 选项,该选项是用来以颠倒的顺序打印依赖的: lsblk -S 例如,你也许想要以列表格式列出设备,而不是默认的树状格式。可以将两个不同的选项组合,以获得期望的输出: lsblk -nl 4?? hdparm 命令 – 显示与设定硬盘参数 语法: ★语法格式:hdparm [参数] 参数描述-a 设定读取文件时,预先存入块区的分区数-f 将内存缓冲区的数据写入硬盘,并清空缓冲区-g 显示硬盘的磁轨,磁头,磁区等参数-I 直接读取硬盘所提供的硬件规格信息-X 设定硬盘的传输模式 参考实例: 显示硬盘的相关设置: hdparm /dev/sda 显示硬盘的柱面、磁头、扇区数: hdparm -g /dev/sda 评估硬盘的读取效率: hdparm -t /dev/sda 直接读取硬盘所提供的硬件规格信息: hdparm -X /dev/sda 使 IDE 硬盘进入睡眠模式: hdparm -Y /dev/sda 5?? vgextend 命令 – 扩展卷组 语法: ★语法格式:vgextend [参数] 参数描述-d 调试模式-t 仅测试 参考实例: 将物理卷/dev/sdb1 加入卷组 vglinuxprobe: vgextend vglinuxprobe /dev/sdb1 ?? 文件传输 tftp 是简单的文字模式 ftp 程序,它所使用的指令和 ftp 类似。 语法: ★语法格式:tftp [参数] 参数描述connect 连接到远程 tftp 服务器 mode 文件传输模式 put 上传文件 get 下载文件 quit 退出 verbose 显示详细的处理信息 trace 显示包路径 status 显示当前状态信息 binary 二进制传输模式 ascii ascii 传送模式 rexmt 设置包传输的超时时间 timeout 设置重传的超时时间 help 帮助信息?帮助信息 参考实例: 连接远程服务器”10.211.55.100″: tftp 10.211.55.100 远程下载 file 文件: tftp> get file 退出 tftp: tftp> quit 2?? curl 命令 – 文件传输工具 作为一款强力工具,curl 支持包括 HTTP、HTTPS、ftp 等众多协议,还支持 POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征;做网页处理流程和数据检索自动化。 语法: ★语法格式:curl [参数] [网址] 参数描述-O 把输出写到该文件中,保留远程文件的文件名-u 通过服务端配置的用户名和密码授权访问 参考实例: 将下载的数据写入到文件,必须使用文件的绝对地址: curl https://www.baidu.com /root/lucifer.txt --silent -O 访问需要授权的页面时,可通过-u 选项提供用户名和密码进行授权: curl -u root https://www.baidu.com/ 3?? fsck 命令 – 检查并修复 Linux 文件系统 Linux fsck 命令用于检查并修复 Linux 文件系统,可以同时检查一个或多个 Linux 文件系统;若系统掉电或磁盘发生问题,可利用 fsck 命令对文件系统进行检查。 语法: ★语法格式:fsck [参数] [文件系统] 参数描述-a 自动修复文件系统,不询问任何问题-A 依照/etc/fstab 配置文件的内容,检查文件内所列的全部文件系统-N 不执行指令,仅列出实际执行会进行的动作-P 当搭配”-A”参数使用时,则会同时检查所有的文件系统-r 采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式-R 当搭配”-A”参数使用时,则会略过/目录的文件系统不予检查-t 指定要检查的文件系统类型-T 执行 fsck 指令时,不显示标题信息-V 显示指令执行过程 参考实例: 修复坏的分区文件系统: fsck -t ext3 -r /usr/local 显示 fsck 系统安装的版本号: fsck --version 4?? ftpwho 命令 – 显示 ftp 会话信息 执行该命令可得知当前用 FTP 登入系统的用户有哪些人,以及他们正在进行的操作。 语法: ★语法格式:ftpwho [参数] 参数描述-h 显示帮助信息-v 详细模式,输出更多信息 参考实例: 查询当前正在登录 FTP 服务器的用户: ftpwho 在详细模式下,查询当前正在登录 FTP 服务器的用户: ftpwho -v 显示帮助信息: ftpwho -h 5?? lprm 命令 – 删除打印队列中的打印任务 语法: ★语法格式:lprm [参数] [任务编号] 参数描述-E 与打印服务器连接时强制使用加密-P 指定接受打印任务的目标打印机-U 指定可选的用户名 参考实例: 将打印机 hpprint 中的第 102 号任务移除: lprm -Phpprint 102 将第 101 号任务由预设打印机中移除: lprm 101 ?? 网络通讯 语法: ★语法格式: ssh [参数] [远程主机] 参数描述-1 强制使用 ssh 协议版本 1-2 强制使用 ssh 协议版本 2-4 强制使用 IPv4 地址-6 强制使用 IPv6 地址-A 开启认证代理连接转发功能-a 关闭认证代理连接转发功能-b 使用本机指定的地址作为对位连接的源 IP 地址-C 请求压缩所有数据-F<配置文件>指定 ssh 指令的配置文件,默认的配置文件为“/etc/ssh/ssh_config”-f 后台执行 ssh 指令-g 允许远程主机连接本机的转发端口-i<身份文件>指定身份文件(即私钥文件)-l<登录名>指定连接远程服务器的登录用户名-N 不执行远程指令-o<选项>指定配置选项-p<端口>指定远程服务器上的端口-q 静默模式,所有的警告和诊断信息被禁止输出-X 开启 X11 转发功能-x 关闭 X11 转发功能-y 开启信任 X11 转发功能 参考实例: 登录远程服务器: ssh 10.211.55.100 用 test 用户连接远程服务器: ssh -l test 10.211.55.100 查看分区列表: ssh 10.211.55.100 /sbin/fdisk -l 强制使用 ssh 协议版本 1: ssh -1 开启认证代理连接转发功能: ssh -A 2?? netstat 命令 – 显示网络状态 从整体上看,netstat 的输出结果可以分为两个部分:一个是 Active Internet connections,称为有源 TCP 连接,其中”Recv-Q”和”Send-Q”指%0A 的是接收队列和发送队列。这些数字一般都应该是 0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到;另一个是 Active UNIX domain sockets,称为有源 Unix 域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。 语法: ★语法格式:netstat [参数] 参数描述-a 显示所有连线中的 Socket-p 显示正在使用 Socket 的程序识别码和程序名称-u 显示 UDP 传输协议的连线状况-i 显示网络界面信息表单-n 直接使用 IP 地址,不通过域名服务器 参考实例: 显示详细的网络状况: netstat -a 显示当前户籍 UDP 连接状况: netstat -nu 显示 UDP 端口号的使用情况: netstat -apu 显示网卡列表: netstat -i 显示组播组的关系: netstat -g 3?? ping 命令 – 测试主机间网络连通性 不过值得我们注意的是:Linux 系统下的 ping 命令与 Windows 系统下的 ping 命令稍有不同。Windows 下运行 ping 命令一般会发出 4 个请求就结束运行该命令;而 Linux 下不会自动终止,此时需要我们按 CTR+C 终止或者使用-c 参数为 ping 命令指定发送的请求数目。 语法: ★语法格式:ping [参数] [目标主机] 参数描述-d 使用 Socket 的 SO_DEBUG 功能-c 指定发送报文的次数-i 指定收发信息的间隔时间-I 使用指定的网络接口送出数据包-l 设置在送出要求信息之前,先行发出的数据包-n 只输出数值-p 设置填满数据包的范本样式-q 不显示指令执行过程-R 记录路由过程-s 设置数据包的大小-t 设置存活数值 TTL 的大小-v 详细显示指令的执行过程 参考实例: 检测与百度网站的连通性: ping www.baidu.com 连续 ping4 次: ping -c 4 www.baidu.com 设置次数为 4,时间间隔为 3 秒: ping -c 4 -i 3 www.baidu.com 利用 ping 命令获取指定网站的 IP 地址: ping -c 1 baidu.com | grep from | cut -d " " -f 4 4?? dhclient 命令 – 动态获取或释放 IP 地址 语法: ★语法格式:dhclient [参数] [网络接口] 参数描述-p 指定 dhcp 客户端监听的端口号(默认端口号 86)-d 总是以前台方式运行程序-q 安静模式,不打印任何错误的提示信息-r 释放 ip 地址-n 不配置任何接口-x 停止正在运行的 DHCP 客户端,而不释放当前租约,杀死现有的 dhclient-s 在获取 ip 地址之前指定 DHCP 服务器-w 即使没有找到广播接口,也继续运行 参考实例: 在指定网络接口上发出 DHCP 请求: dhclient eth0 释放 IP 地址: dhclient -r 从指定的服务器获取 ip 地址: dhclient -s 10.211.55.100 停止运行 dhclient: dhclient -x 5?? ifconfig 命令 – 显示或设置网络设备 语法: ★语法格式:ifconfig [参数] 参数描述add<地址>设置网络设备 IPv6 的 IP 地址 del<地址>删除网络设备 IPv6 的 IP 地址 down 关闭指定的网络设备 up 启动指定的网络设备 IP 地址指定网络设备的 IP 地址 参考实例: 显示网络设备信息: ifconfig 启动关闭指定网卡: ifconfig eth0 down ifconfig eth0 up 为网卡配置和删除 IPv6 地址: ifconfig eth0 add 33ffe:3240:800:1005::2/64 ifconfig eth0 del 33ffe:3240:800:1005::2/64 用 ifconfig 修改 MAC 地址: ifconfig eth0 down ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE ifconfig eth0 up ifconfig eth1 hw ether 00:1D:1C:1D:1E ifconfig eth1 up 配置 IP 地址: ifconfig eth0 192.168.1.56 ifconfig eth0 192.168.1.56 netmask 255.255.255.0 ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255 ?? 设备管理 语法: ★语法格式:mount [参数] 参数描述-t 指定挂载类型-l 显示已加载的文件系统列表-h 显示帮助信息并退出-V 显示程序版本-n 加载没有写入文件“/etc/mtab”中的文件系统-r 将文件系统加载为只读模式-a 加载文件“/etc/fstab”中描述的所有文件系统 参考实例: 查看版本: mount -V 启动所有挂载: mount -a 挂载 /dev/cdrom 到 /mnt: mount /dev/cdrom /mnt 挂载 nfs 格式文件系统: mount -t nfs /123 /mnt 挂载第一块盘的第一个分区到/etc 目录 : mount -t ext4 -o loop,default /dev/sda1 /etc 2?? MAKEDEV 命令 – 建立设备 MAKEDEV 脚本创建静态的设备节点,通常位于/dev 目录下。 语法: ★语法格式:MAKEDEV [参数] 参数描述-v 显示出执行的每一个动作-n 并不做真正的更新, 只是显示一下它的执行效果-d 删除设备文件 参考实例: 显示出执行的每一个动作: ./MAKEDEV -v update 删除设备: ./MAKEDEV -d device 3?? lspci 命令 – 显示当前设备所有 PCI 总线信息 语法: ★语法格式:lspci [参数] 参数描述-n 以数字方式显示 PCI 厂商和设备代码-t 以树状结构显示 PCI 设备的层次关系-b 以总线为中心的视图-s 仅显示指定总线插槽的设备和功能块信息-i 指定 PCI 编号列表文件,不使用默认文件-m 以机器可读方式显示 PCI 设备信息 参考实例: 显示当前主机的所有 PCI 总线信息: lspci 以树状结构显示 PCI 设备的层次关系: lspci -t 4?? setleds 命令 – 设定键盘上方三个 LED 的状态 这是一个十分神奇的命令,竟然可以通过命令来控制键盘的灯的状态。那么下面我一起来学习一下这个命令吧。 语法: ★语法格式:setleds [参数] 参数描述-F 设定虚拟主控台的状态-D 改变虚拟主控台的状态和预设的状态-L 直接改变 LED 显示的状态+num/-num 将数字键打开或关闭+caps/-caps 把大小写键打开或关闭+scroll /-scroll 把选项键打开或关闭 参考实例: 控制键盘灯 num 灯亮和灯灭: setleds +num setleds -num 控制键盘的大小写键打开或关闭,键盘指示灯亮与灭: setleds +caps setleds -caps 控制键盘的选项键打开或关闭,键盘指示灯亮与灭: setleds +scroll 对三灯的亮与灭的情况进行组合,分别设置为数字灯亮,大小写灯灭,选项键 scroll 灯灭: setleds +num -caps -scroll 5?? sensors 命令 – 检测服务器内部温度及电压 语法: ★语法格式:sensors 检测 cpu 工作电压,温度等: sensors ?? 备份压缩 对于文本文件来说,压缩比为 2:1 和 3:1 是常见的。zip 只有一种压缩方法(通缩),并且可以在不压缩的情况下存储文件。(如果添加了 bzip 2 支持,zip 也可以使用 bzip 2 压缩,但这些条目需要一个合理的现代解压缩来解压缩。当选择 bzip 2 压缩时,它将通货紧缩替换为默认方法。)zip 会自动为每个要压缩的文件选择更好的两个文件(通缩或存储,如果选择 bzip2,则选择 bzip2 或 Store)。 语法: ★语法格式:zip [参数] [文件] 参数描述-q 不显示指令执行过程-r 递归处理,将指定目录下的所有文件和子目录一并处理-z 替压缩文件加上注释-v 显示指令执行过程或显示版本信息-n<字尾字符串>不压缩具有特定字尾字符串的文件 参考实例: 将 /home/html/ 这个目录下所有文件和文件夹打包为当前目录下的 html.zip: zip -q -r html.zip /home/html 压缩文件 cp.zip 中删除文件 a.c: zip -dv cp.zip a.c 把/home 目录下面的 mydata 目录压缩为 mydata.zip: zip -r mydata.zip mydata 把/home 目录下面的 abc 文件夹和 123.txt 压缩成为 abc123.zip: zip -r abc123.zip abc 123.txt 将 logs 目录打包成 log.zip: zip -r log.zip ./logs 2?? zipinfo 命令 – 查看压缩文件信息 语法: ★语法格式:zipinfo [参数] 参数描述-1 只列出文件名称-2 此参数的效果和指定”-1″参数类似,但可搭配”-h”,”-t”和”-z”参数使用-h 只列出压缩文件的文件名称-l 此参数的效果和指定”-m”参数类似,但会列出原始文件的大小而非每个文件的压缩率-m 此参数的效果和指定”-s”参数类似,但多会列出每个文件的压缩率-M 若信息内容超过一个画面,则采用类似 more 指令的方式列出信息-s 用类似执行”ls -l”指令的效果列出压缩文件内容-t 只列出压缩文件内所包含的文件数目,压缩前后的文件大小及压缩率-T 将压缩文件内每个文件的日期时间用年,月,日,时,分,秒的顺序列出-v 详细显示压缩文件内每一个文件的信息-x<范本样式>不列出符合条件的文件的信息-z 如果压缩文件内含有注释,就将注释显示出来 参考实例: 显示压缩文件信息: zipinfo file.zip 显示压缩文件中每个文件的信息: zipinfo -v file.zip 只显示压缩包大小、文件数目: zipinfo -h file.zip 生成一个基本的、长格式的列表(而不是冗长的),包括标题和总计行: zipinfo -l file 查看存档中最近修改的文件: zipinfo -T file | sort –nr -k 7 | sed 15q 3?? unzip 命令 – 解压缩 zip 文件 默认行为(就是没有选项)是从指定的 ZIP 存档中提取所有的文件到当前目录(及其下面的子目录)。一个配套程序 zip(1L)创建 ZIP 存档;这两个程序都与 PKWARE 的 PKZIP 和 PKUNZIP 为 MS-DOS 创建的存档文件兼容,但许多情况下,程序选项或默认行为是不同的。 语法: ★语法格式:unzip [参数] [文件] 参数描述-l 显示压缩文件内所包含的文件-v 执行时显示详细的信息-c 将解压缩的结果显示到屏幕上,并对字符做适当的转换-n 解压缩时不要覆盖原有的文件-j 不处理压缩文件中原有的目录路径 参考实例: 把/home 目录下面的 mydata.zip 解压到 mydatabak 目录里面: unzip mydata.zip -d mydatabak 把/home 目录下面的 wwwroot.zip 直接解压到/home 目录里面: unzip wwwroot.zip 把/home 目录下面的 abc12.zip、abc23.zip、abc34.zip 同时解压到/home 目录里面: unzip abc\*.zip 查看把/home 目录下面的 wwwroot.zip 里面的内容: unzip -v wwwroot.zip 验证/home 目录下面的 wwwroot.zip 是否完整: unzip -t wwwroot.zip 4?? gzip 命令 – 压缩和解压文件 gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip 不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和 tar 命令一起构成 Linux 操作系统中比较流行的压缩文件格式。据统计,gzip 命令对文本文件有 60%~70%的压缩率。减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。 语法: ★语法格式:gzip [参数] 参数描述-a 使用 ASCII 文字模式-d 解开压缩文件-f 强行压缩文件-l 列出压缩文件的相关信息-c 把压缩后的文件输出到标准输出设备,不去更动原始文件-r 递归处理,将指定目录下的所有文件及子目录一并处理-q 不显示警告信息 参考实例: 把 rancher-v2.2.0 目录下的每个文件压缩成.gz 文件: gzip * 把上例中每个压缩的文件解压,并列出详细的信息: gzip -dv * 递归地解压目录: gzip -dr rancher.gz 5?? unarj 命令 – 解压.arj 文件 语法: ★语法格式:unarj [参数] [.arj 压缩文件] 参数描述-e 解压缩.arj 文件-l 显示压缩文件内所包含的文件-t 检查压缩文件是否正确-x 解压缩时保留原有的路径 参考实例: 解压缩.arj 文件: unarj -e test.arj 显示压缩文件内所包含的文件: unarj -l test.arj 检查压缩文件是否正确: unarj -t test.arj 解压缩时保留原有的路径: unarj -x test.arj 把文件解压到当前路径: unarj -ex test.arj ?? 其他命令 当执行 hash 命令不指定参数或标志时,hash 命令向标准输出报告路径名列表的内容。此报告含有先前 hash 命令调用找到的当前 shell 环境中命令的路径名。而且还包含通过正常命令搜索进程调用并找到的那些命令。 语法: ★语法格式: hash [参数] [目录] 参数描述-d 在哈希表中清除记录-l 显示哈希表中的命令-p<指令>将具有完整路径的命令加入到哈希表中-r 清除哈希表中的记录-t 显示哈希表中命令的完整路径 参考实例: 显示哈希表中的命令: hash -l 删除哈希表中的命令: hash -r 向哈希表中添加命令: hash -p /usr/sbin/adduser myadduser 在哈希表中清除记录: hash -d 显示哈希表中命令的完整路径: hash -t 2?? grep 命令 – 强大的文本搜索工具 grep 命令的选项用于对搜索过程的补充,而其命令的模式十分灵活,可以是变量、字符串、正则表达式。需要注意的是:一当模式中包含了空格,务必要用双引号将其引起来。 linux 系统支持三种形式的 grep 命令,大儿子就是 grep,标准,模仿的代表。二儿子兴趣爱好多-egrep,简称扩展 grep 命令,其实和 grep -E 等价,支持基本和扩展的正则表达式。小儿子跑的最快-fgrep,简称快速 grep 命令,其实和 grep -F 等价,不支持正则表达式,按照字符串表面意思进行匹配。 语法: ★语法格式:grep [参数] 参数描述-i 搜索时,忽略大小写-c 只输出匹配行的数量-l 只列出符合匹配的文件名,不列出具体的匹配行-n 列出所有的匹配行,显示行号-h 查询多文件时不显示文件名-s 不显示不存在、没有匹配文本的错误信息-v 显示不包含匹配文本的所有行-w 匹配整词-x 匹配整行-r 递归搜索-q 禁止输出任何结果,已退出状态表示搜索是否成功-b 打印匹配行距文件头部的偏移量,以字节为单位-o 与-b 结合使用,打印匹配的词据文件头部的偏移量,以字节为单位 参考实例: 支持多文件查询并支持使用通配符: grep zwx file_* /etc/hosts 输出匹配字符串行的数量: grep -c zwx file_* 列出所有的匹配行,并显示行号: grep -n zwx file_* 显示不包含模式的所有行: grep -vc zwx file_* 不再显示文件名: grep -h zwx file_* 只列出符合匹配的文件名,不列出具体匹配的行: grep -l zwx file_* 不显示不存在或无匹配的文本信息: grep -s zwx file1 file_1 grep zwx file1 file_1 递归搜索,不仅搜索当前目录,还搜索子目录: grep -r zwx file_2 * 匹配整词,以字面意思去解释他,相当于精确匹配: grep zw* file_1 grep -w zw* file_1 匹配整行,文件中的整行与模式匹配时,才打印出来: grep -x zwx file_* 不输出任何结果,已退出状态表示结果: grep -q zwx file_1 echo $? grep -q zwx file_5 echo $? grep -q zwx file5 echo $? 查找一个文件中的空行和非空行: grep -c ^$ file_1 grep -c ^[^$] file_1 匹配任意或重复字符用“.”或“*”符号来实现: grep ^z.x file_1 grep ^z* file_6 3?? wait 命令 – 等待指令 语法: ★语法格式:wait [参数] 参数描述22 或%1 进程号 或 作业号 参考实例: 等待作业号为 1 的作业完成后再返回: wait %1 find / -name password 4?? bc 命令 – 浮点运算 语法: ★语法格式:bc [选项] 参数描述-i 强制进入交互式模式-l 定义使用的标准数学库-w 定义使用的标准数学库-q 打印正常的 GNU bc 环境信息 参考实例: 算术操作高级运算 bc 命令它可以执行浮点运算和一些高级函数: echo "1.212*3" | bc 设定小数精度(数值范围): echo "scale=2;3/8" | bc 计算平方和平方根: echo "10^10" | bc echo "sqrt(100)" | bc 5?? history 命令 – 显示与操纵历史命令 如果你经常使用 Linux 命令,那么使用 history 命令可以有效地提升你的效率。 语法: ★语法格式: history [参数] [目录] 参数描述-a 将当前 shell 会话的历史命令追加到命令历史文件中,命令历史文件是保存历史命令的配置文件-c 清空当前历史命令列表-d 删除历史命令列表中指定序号的命令-n 从命令历史文件中读取本次 Shell 会话开始时没有读取的历史命令-r 读取命令历史文件到当前的 Shell 历史命令内存缓冲区-s 将指定的命令作为单独的条目加入命令历史内存缓冲区。在执行添加之前先删除命令历史内存缓冲区中最后一条命令-w 把当前的 shell 历史命令内存缓冲区的内容写入命令历史文件 参考实例: 显示最近的 10 条命令: history 10 将本次登录的命令写入历史文件中: history -w 将命令历史文件中的内容读入到目前 shell 的 history 记忆中 : history -r 将当前 Shell 会话的历史命令追加到命令历史文件中: history -a 清空当前历史命令列表: history -c
echo 命令用于在终端设备上输出字符串或变量提取后的值,这是在 Linux 系统中最常用的几个命令之一,但操作却非常简单。
”
常用参数:
rm 是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。
”
常用参数:
tail 用于显示文件尾部的内容,默认在屏幕上显示指定文件的末尾 10 行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。
”
常用参数:
rmdir 命令作用是删除空的目录,英文全称:“remove directory”。
”
常用参数:
1?? rpm 命令 – RPM 软件包管理器
rpm 命令是 Red-Hat Package Manager(RPM 软件包管理器)的缩写, 该命令用于管理 Linux 下软件包的软件。在 Linux 操作系统下,几乎所有的软件均可以通过 RPM 进行安装、卸载及管理等操作。
”
常用参数:
find 命令可以根据给定的路径和表达式查找的文件或目录。find 参数选项很多,并且支持正则,功能强大。和管道结合使用可以实现复杂的功能,是系统管理者和普通用户必须掌握的命令。
”
常用参数:
startx 命令用来启动 X-Window,它负责调用 X-Window 系统的初始化程序 xinit。以完成 X-Window 运行所必要的初始化工作,并启动 X-Window 系统。
”
常用参数:
uname 命令的英文全称即“Unix name”。
”
常用参数:
vmstat 命令的含义为显示虚拟内存状态(“Virtual Memory Statistics”),但是它可以报告关于进程、内存、I/O 等系统整体运行状态。
”
常用参数:
1?? df 命令 – 显示磁盘空间使用情况
df 命令的英文全称即“Disk Free”,顾名思义功能是用于显示系统上可使用的磁盘空间。默认显示单位为 KB,建议使用“df -h”的参数组合,根据磁盘容量自动变换合适的单位,更利于阅读。
”
常用参数:
fdisk 命令的英文全称是“Partition table manipulator for Linux”,即作为磁盘的分区工具。进行硬盘分区从实质上说就是对硬盘的一种格式化, 用一个形象的比喻,分区就好比在一张白纸上画一个大方框,而格式化好比在方框里打上格子。
”
常用参数:
lsblk 命令的英文是“list block”,即用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出 RAM 盘的信息。
”
常用参数:
hdparm 命令用于检测,显示与设定 IDE 或 SCSI 硬盘的参数。
”
常用参数:
vgextend 命令用于动态扩展 LVM 卷组,它通过向卷组中添加物理卷来增加卷组的容量。LVM 卷组中的物理卷可以在使用 vgcreate 命令创建卷组时添加,也可以使用 vgextend 命令动态的添加。
”
常用参数:
1?? tftp 命令 – 上传及下载文件
tftp 命令用于传输文件。ftp 让用户得以下载存放于远端主机的文件,也能将文件上传到远端主机放置。
”
常用参数:
curl 命令是一个利用 URL 规则在 shell 终端命令行下工作的文件传输工具;它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称 curl 为下载工具。
”
常用参数:
fsck 命令的英文全称是“filesystem check”,即检查文件系统的意思,常用于检查并修复 Linux 文件系统的一些错误信息,操作文件系统需要先备份重要数据,以防丢失。
”
常用参数:
ftpwho 命令用于显示当前所有以 FTP 登入的用户会话信息。
”
常用参数:
lprm 命令的英文全称是“Remove?jobs?from?the?print?queue”,意为用于删除打印队列中的打印任务。尚未完成的打印机工作会被放在打印机贮列之中,这个命令可用来将未送到打印机的工作取消。
”
常用参数:
1?? ssh 命令 – 安全连接客户端
ssh 命令是 openssh 套件中的客户端连接工具,可以给予 ssh 加密协议实现安全的远程登录服务器,实现对服务器的远程管理。
”
常用参数:
netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
”
常用参数:
ping 命令主要用来测试主机之间网络的连通性,也可以用于。执行 ping 指令会使用 ICMP 传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
”
常用参数:
dhclient 命令的作用是:使用动态主机配置协议动态的配置网络接口的网络参数,也支持 BOOTP 协议。
”
常用参数:
ifconfig 命令的英文全称是“network interfaces configuring”,即用于配置和显示 Linux 内核中网络接口的网络参数。用 ifconfig 命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。
”
常用参数:
1?? mount 命令 – 文件系统挂载
mount 命令用于加载文件系统到指定的加载点。此命令的最常用于挂载 cdrom,使我们可以访问 cdrom 中的数据,因为你将光盘插入 cdrom 中,Linux 并不会自动挂载,必须使用 Linux mount 命令来手动完成挂载。
”
常用参数:
MAKEDEV 是一个脚本程序, 用于在 /dev 目录下建立设备, 通过这些设备文件可以 访问位于内核的驱动程序。
”
常用参数:
lspci 命令用于显示当前主机的所有 PCI 总线信息,以及所有已连接的 PCI 设备信息。现在主流设备如网卡储存等都采用 PCI 总线
”
常用参数:
setleds 即是英文词组“set leds”的合并,翻译为中文就是设置 LED 灯。setleds 命令用来设定键盘上方三个 LED 灯的状态。在 Linux 中,每一个虚拟主控台都有独立的设定。
”
常用参数:
sensors 命令用于检测服务器内部降温系统是否健康,可以监控主板,CPU 的工作电压,风扇转速、温度等数据 。
”
参考实例:
1?? zip 命令 – 压缩文件
zip 程序将一个或多个压缩文件与有关文件的信息(名称、路径、日期、上次修改的时间、保护和检查信息以验证文件完整性)一起放入一个压缩存档中。可以使用一个命令将整个目录结构打包到 zip 存档中。
”
常用参数:
zipinfo 命令的全称为“zip information”,该命令用于列出压缩文件信息。执行 zipinfo 指令可得知 zip 压缩文件的详细信息。
”
常用参数:
unzip 命令是用于.zip 格式文件的解压缩工具 ,unzip 命令将列出、测试或从 zip 格式存档中提取文件,这些文件通常位于 MS-DOS 系统上。
”
常用参数:
gzip 命令的英文是“GNUzip”,是常用来压缩文件的工具,gzip 是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名。
”
常用参数:
unarj 命令用于解压缩.arj 文件。
”
常用参数:
1?? hash 命令 – 显示与清除命令运行时查询的哈希表
hash 命令负责显示与清除命令运行时系统优先查询的哈希表(hash table)。
”
常用参数:
grep 是“global search regular expression and print out the line”的简称,意思是全面搜索正则表达式,并将其打印出来。这个命令可以结合正则表达式使用,它也是 linux 使用最为广泛的命令。
”
常用参数:
wait 命令用来等待指令的指令,直到其执行完毕后返回终端。该指令常用于 shell 脚本编程中,待指定的指令执行完成后,才会继续执行后面的任务。该指令等待作业时,在作业标识号前必须添加备份号”%”。
”
常用参数:
bc 的英文全拼为“ Binary Calculator ”,是一种支持任意精度的交互执行的计算器语言。bash 内置了对整数四则运算的支持,但是并不支持浮点运算,而 bc 命令可以很方便的进行浮点运算,当然整数运算也不再话下。
”
常用参数:
history 命令用于显示用户以前执行过的历史命令,并且能对历史命令进行追加和删除等操作。
”
常用参数: