查看“【Linux 常用命令】”的源代码
←
【Linux 常用命令】
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[category:Linux]] == 系统版本 == # 查看系统的发行版本: #: <syntaxhighlight lang="bash" highlight=""> cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) </syntaxhighlight> # 查看系统的内核版本: #: <syntaxhighlight lang="bash" highlight=""> uname -r 5.2.8-1.el7.elrepo.x86_64 </syntaxhighlight> == systemctl == '''systemctl''' 是 CentOS 7 的服务管理工具中主要的工具,它融合之前 service 和 chkconfig 的功能于一体。 常用命令: : <syntaxhighlight lang="bash" highlight=""> # 启动一个服务: systemctl start firewalld.service # 关闭一个服务: systemctl stop firewalld.service # 重启一个服务: systemctl restart firewalld.service # 显示一个服务的状态: systemctl status firewalld.service # 在开机时启用一个服务: systemctl enable firewalld.service # 在开机时禁用一个服务: systemctl disable firewalld.service # 查看服务是否开机启动: systemctl is-enabled firewalld.service # 查看已启动的服务列表: systemctl list-unit-files|grep enabled # 查看启动失败的服务列表: systemctl --failed </syntaxhighlight> == 防火墙 == # firewalld 的基本使用: #: <syntaxhighlight lang="bash" highlight=""> # 启动 systemctl start firewalld # 关闭 systemctl stop firewalld # 查看状态 systemctl status firewalld # 开机禁用 systemctl disable firewalld # 开机启用 systemctl enable firewalld </syntaxhighlight> #*(“firewalld”或“firewalld.service”) # 配置 firewalld-cmd: #: <syntaxhighlight lang="bash" highlight="8,11,17"> # 查看版本: firewall-cmd --version # 查看帮助: firewall-cmd --help # 显示状态: firewall-cmd --state # 重新载入防火墙配置 firewall-cmd --reload # 添加端口 firewall-cmd --zone=public --add-port=80/tcp --permanent # 删除端口 firewall-cmd --zone= public --remove-port=80/tcp --permanent # 查看端口 firewall-cmd --zone= public --query-port=80/tcp # 查看所有打开的端口: firewall-cmd --zone=public --list-ports # 查看区域信息: firewall-cmd --get-active-zones # 查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0 # 拒绝所有包: firewall-cmd --panic-on # 取消拒绝状态: firewall-cmd --panic-off # 查看是否拒绝: firewall-cmd --query-panic </syntaxhighlight> #* “--permanent”:永久生效,没有此参数重启后失效。 == 文件(夹)命令 == 文件夹常用的命令:查看信息('''ls''')、复制('''cp''')、移动('''mv''')、删除('''rm''')、创建/修改文件('''touch''') === ls === ls 用于查看文件(夹)的信息 默认显示的只有:非隐藏文件的文件名、以文件名进行排序及文件名代表的颜色显示 '''ls''' 选项与参数: : <syntaxhighlight lang="bash" highlight=""> </syntaxhighlight> === cp === '''cp''' 选项与参数: : <syntaxhighlight lang="bash" highlight=""> </syntaxhighlight> === mv === '''mv''' 选项与参数: : <syntaxhighlight lang="bash" highlight=""> </syntaxhighlight> === rm === '''rm''' 选项与参数: : <syntaxhighlight lang="bash" highlight=""> </syntaxhighlight> # 删除某个文件外的其他文件: #: <syntaxhighlight lang="bash" highlight=""> yes | rm -rf `ls | grep -v ".well-known "` </syntaxhighlight> === touch === '''touch''' 选项与参数: : <syntaxhighlight lang="bash" highlight=""> </syntaxhighlight> == 通道命令 == == 压缩/解压 == Linux 下常见的压缩包格式有 5 种: zip、tar.gz、tar.bz2、tar.xz、tar.Z; * 其中:tar 是种打包格式,gz / bz2 后缀才是指代压缩方式(gzip / bzip2); * 压缩率一般来说:tar.bz2 > tar.gz > zip > tar;压缩率越高,压缩以及解压的时间也就越长。 === 支持的格式 === {| class="wikitable" ! 格式 !! 命令 |- ! colspan="2" | 常用格式 |- | '''.zip''' | <syntaxhighlight lang="bash" highlight=""> 解压:unzip FileName.zip 压缩:zip FileName.zip DirName </syntaxhighlight> |- | '''.tar ''' | <syntaxhighlight lang="bash" highlight=""> 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName </syntaxhighlight> * 注意:tar 是打包,不是压缩 |- | '''.gz''' | <syntaxhighlight lang="bash" highlight=""> 解压1:gunzip FileName.gz 解压2:gzip -d FileName.gz 压缩:gzip FileName </syntaxhighlight> |- | '''.tar.gz'''和'''.tgz''' | <syntaxhighlight lang="bash" highlight=""> 解压:tar zxvf FileName.tar.gz 压缩:tar zcvf FileName.tar.gz DirName </syntaxhighlight> |- | '''.bz2''' | <syntaxhighlight lang="bash" highlight=""> 解压1:bzip2 -d FileName.bz2 解压2:bunzip2 FileName.bz2 压缩: bzip2 -z FileName </syntaxhighlight> |- | '''.tar.bz2''' | <syntaxhighlight lang="bash" highlight=""> 解压:tar jxvf FileName.tar.bz2 压缩:tar jcvf FileName.tar.bz2 DirName </syntaxhighlight> |- | '''.bz''' | <syntaxhighlight lang="bash" highlight=""> 解压1:bzip2 -d FileName.bz 解压2:bunzip2 FileName.bz </syntaxhighlight> |- | '''.tar.bz''' | <syntaxhighlight lang="bash" highlight=""> 解压:tar jxvf FileName.tar.bz </syntaxhighlight> |- | '''.Z''' | <syntaxhighlight lang="bash" highlight=""> 解压:uncompress FileName.Z 压缩:compress FileName </syntaxhighlight> |- | '''.tar.Z''' | <syntaxhighlight lang="bash" highlight=""> 解压:tar Zxvf FileName.tar.Z 压缩:tar Zcvf FileName.tar.Z DirName </syntaxhighlight> * 注意:“Z”是大写; |- ! colspan="2" | 其他格式 |- | '''.rar''' | <syntaxhighlight lang="bash" highlight=""> 解压:rar x FileName.rar 压缩:rar a FileName.rar DirName </syntaxhighlight> |- | '''.lha''' | <syntaxhighlight lang="bash" highlight=""> 解压:lha -e FileName.lha 压缩:lha -a FileName.lha FileName </syntaxhighlight> |- | '''.rpm''' | <syntaxhighlight lang="bash" highlight=""> 解包:rpm2cpio FileName.rpm | cpio -div </syntaxhighlight> |- | '''.deb''' | <syntaxhighlight lang="bash" highlight=""> 解包:ar p FileName.deb data.tar.gz | tar zxf - </syntaxhighlight> |} === tar === 常用参数说明: {| class="wikitable" style="width:50%;" ! style="width:3%;" | ! style="width:20%;" | 参数 ! style="width:77%;" | 描述 |- | rowspan="5" | 操作类型 | '''-c''' || 建立压缩档案 |- | '''-x''' || 解压 |- | -t || 查看内容 <syntaxhighlight lang="bash" highlight=""> # 查看test包中有哪些文件,但不解压 tar -tvf test.tar </syntaxhighlight> |- | -r || 向压缩归档文件末尾追加文件 <syntaxhighlight lang="bash" highlight=""> # 在test.tar包中增加文件 tar -rf test.tar testfile </syntaxhighlight> * 只针对tar包 |- | -u || 更新原压缩包中的文件 <syntaxhighlight lang="bash" highlight=""> # 更新压缩包中的test文件 tar -uf test.tar --add-file=test </syntaxhighlight> |- | rowspan="3" | 文件格式 | '''-z''' || 有 gzip 属性的(g'''z'''ip 格式,以“.tar.gz”/“.tgz”为扩展名) |- | '''-j''' || 有 bzip2 属性的(以“.tar.bz2”/“.tar.bz”为扩展名) |- | -Z || 有 compress 属性的(以“.Z”为扩展名) |- | rowspan="3" | 其他参数 | '''-v''' || 显示详细过程 |- | '''-f''' || 指定档案名字 * 这个参数是'''必须的'''; * 这个参数'''必须是最后一个参数''',后面只能接档案名。 |- | -O || 将文件解开到标准输出 |- | rowspan="6" | 可选参数 |- | --add-file || 向包中添加文件 <syntaxhighlight lang="bash" highlight=""> # 更新压缩包中的test文件 tar -uf test.tar --add-file=test </syntaxhighlight> * 只针对tar包 |- | --delete || 删除包中文件 <syntaxhighlight lang="bash" highlight=""> # 从test.tar中删除test1文件 tar --delete -f test.tar test1 </syntaxhighlight> |- | --exclude || 排除文件 <syntaxhighlight lang="bash" highlight=""> #打包test目录下所有文件,排除以.log结尾的文件 tar -zcvf test.tar.gz --exclude=test/*.log test/* </syntaxhighlight> |- | --remove-files || 移除源文件 <syntaxhighlight lang="bash" highlight=""> # 压缩后删除源文件 tar -zcvf test.tar.gz test.log --remove-files </syntaxhighlight> |- | --strip-components || 去除目录 <syntaxhighlight lang="bash" highlight=""> # 解压时去掉一层目录 tar -xvf test.tar.gz --strip-components=1 </syntaxhighlight> |} * 关于 tar 的详细命令可以使用以下命令获取: *: <syntaxhighlight lang="bash" highlight=""> tar --help </syntaxhighlight> * 事实上, 从 1.15 版本开始 '''tar 解压时可以自动识别压缩的格式''',故不需人为区分压缩格式就能正确解压: *: <syntaxhighlight lang="bash" highlight=""> tar -xvf filename.tar.gz tar -xvf filename.tar.bz2 tar -xvf filename.tar.xz tar -xvf filename.tar.Z </syntaxhighlight> === zip/unzip === zip 和 unzip 命令主要用于处理zip包。 参数说明: {| class="wikitable" style="width:50%;" ! style="width:20%;" | 参数 ! style="width:80%;" | 描述 |- ! colspan="2" | 压缩 |- | -d || 从压缩文件内删除指定的文件。 |- | -f || 此参数的效果和指定"-u"参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。 |- | -j || 只保存文件名称及其内容,而不存放任何目录名称。 |- | '''-r''' || '''递归处理''',将指定目录下的所有文件和子目录一并处理。 |- | -u || 更换较新的文件到压缩文件内。 |- | '''-v''' || 显示指令执行过程或显示版本信息。 |- | -y || 直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。 |- | - <压缩效率> || 压缩效率是一个介于 '''1-9''' 的数值。 |- ! colspan="2" | 解压 |- | '''-l''' || 显示压缩文件内所包含的文件 |- | -j || 只保存文件名称及其内容,而不存放任何目录名称。 |- | -o || 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该 |- | '''-v''' || 显示指令执行过程或显示版本信息。 |- | '''-d''' || '''指定解压目录''',目录不存在会创建 |} 示例: # 压缩: #: <syntaxhighlight lang="bash" highlight=""> #打包test目录下的文件 zip -r test.zip test/ #打包test目录下文件,且压缩包不带test目录 zip -rj test.zip test/ # 指定压缩率打包文件:数值(1-9)越大,压缩率越高,耗时越长 zip -r8 test.zip test/* # 打包符号链接文件 zip -ry test.zip test # 向压缩包中增加或更新文件test2 zip -u test.zip test2 # 压缩时加密,密码为66666 zip -r test.zip test1 test -P 66666 # 删除压缩包的特定文件 test zip -d test.zip test </syntaxhighlight> # 解压: #: <syntaxhighlight lang="bash" highlight=""> # 查看压缩包中的文件信息 # 1、可以看到压缩包中的文件名,日期等信息 unzip -l test.zip # 2、查看更多信息,例如crc校验信息等 unzip -v test.zip # 解压压缩包,到dir目录 unzip -o test.zip -d dir # 解压包中指定的文件(如果不知道需要解压的文件名,可先查看包中的文件) # 1、解压包中的 1.log 文件到 dir 目录 unzip -o test.zip "1.log" -d dir # 2、解压包中所有的 log 文件 unzip -o tet.zip "*.log" -d dir # 解压时去掉目录结构 zip -oj test.zip -d ./temp # 解压jar包 unzip -o java.jar -d dir </syntaxhighlight> === gzip === tar命令带有 -z 参数,并且打包成 tar.gz 文件时,便调用 gzip 进行了压缩。 * gzip对文本的压缩率约有 60%~70%,压缩包文件常以 gz 为后缀。 参数说明: {| class="wikitable" ! 参数 !! 描述 |- | -k || 保留源文件 |- | -d || 解开压缩文件 |- | -r || 递归处理,将指定目录下的所有文件及子目录一并处理 |- | -v || 显示指令执行过程 |} 示例: <syntaxhighlight lang="bash" highlight=""> # 使用 -k 参数保留源文件 # 1、对当前目录下所有文件进行压缩,每个文件一个gz包 gzip -k ./* # 2、递归压缩 gzip -rkv ./* # 解压 gzip -dv test.gz </syntaxhighlight> === bzip2 === tar 命令使用 '''-j''' 参数将文件打包为 tar.bz2 时,便调用了 bzip2 进行压缩。 * bzip2 压缩或解压后,'''会将源文件删除'''。 示例:如果需要保留源文件,可使用 '''-k''' 参数 <syntaxhighlight lang="bash" highlight=""> # 压缩test文件 bzip2 -zk test # 解压 bzip2 -dk test.bz2 </syntaxhighlight> === rar/unrar === rar 和 unrar 命令并非 linux 发行版自带命令,需要另外安装。 示例: <syntaxhighlight lang="bash" highlight=""> # 压缩:将test文件压缩为test.tar rar a test.tar test # 解压 test.tar rar e test.rar # 解压 test.tar unrar x test.rar </syntaxhighlight> == 其他命令 == {| class="wikitable" ! 命令 !! 说明 |- | start X | 进入图形界面 |- | shutdown -h now | 立即关机 # poweroff 关机(poweroff -f 强制关机) |- | shutdown -r now | 立即重启 |- | logout | 注销 |- | man 命令 | 显示命令的用法 |- | history | 显示命令历史记录 # history 5:显示最近使用的5个历史命令 执行历史命令: # !5:执行历史编号为5的命令 # !ls:执行最后一次以ls开头的命令 |- | env | 显示当前系统的环境变量 |- | | |} * “tab”键:双击命令提示,单机补全(当前目录下有的)文件名称。 === 超级管理员 === 当前用户下使用超级管理员(root): <syntaxhighlight lang="bash"> su - root </syntaxhighlight> === 关机 === # shutdown -h now # poweroff Note: # 用poweroff,三个机器(问题与系统无关,centos、Debian、suse)都出现了 #: <syntaxhighlight lang="bash"> “System has not been booted with systemd as init system (PID 1). Can't operate.” </syntaxhighlight> #: 需要“sudo poweroff -f”才能关键 === 清屏 === 在windows的DOS操作界面里面,清屏的命令是cls,那么在linux 里面的清屏命令是什么呢? # '''clear''':这个命令将会刷新屏幕,本质上只是'''让终端显示页向后翻了一页''',如果向上滚动屏幕还可以看到之前的操作信息。 # '''Ctrl+l'''(小写的L):这是一个清屏的快捷键,工作中用得最多的一种清屏方式。【效果同 '''clear'''】。 # '''reset''':这个命令将'''完全刷新终端屏幕''',之前的终端输入操作信息将都会被清空,这样虽然比较清爽,但整个命令过程速度有点慢,使用较少。 #* 值得一提的是 reset 命令在你的终端控制错乱时非常有用。 #*: 如:“输入字符不出现在光标的位置的情况。还有当你敲击回车键时,新提示符并没有出现在新行上,而是出现在老提示符的前面”。此时reset命令就能用来修正这些问题。 # '''printf "\033c"''':这个命令它才是'''真正的清空了终端屏幕''',它的功能跟 DOS 里 CMD.EXE 提供的 CLS 效果很相似。 ==== 关于“printf "\033c"” ==== 这个命令究竟是做什么的?它的工作原理是什么? <pre> \033 == \x1B == 27 == ESC </pre> 即这个命令变成了 <ESC>c,它是 VT-XXX 中表示“Full Reset (RIS)”的转义码。<br/> 它的另一种实现方式也可以这样: : 键盘上:“Ctrl+v--->Esc-->输入c再回加”。 #(现今我们使用的所有的终端都是VT兼容的) # 但如果你发现自己使用的是一个非常奇怪的终端(如putty),那这个命令可能用不了。 * printf 是 bash 里内置的命令,内置命令的优先级比其它可执行文件要高。 ==== 为命令设置快捷方式 ==== 在 PATH 路径下,如 /usr/bin/ 目录下。新建一个名为 '''cls''' 的文件,加上执行权限,写入如入内容: <syntaxhighlight lang="bash"> [root@iZbp168 bin]# vim cls #!/bin/bash # printf "\033c" </syntaxhighlight> 这样每次需要清屏的时候,只需要输入cls命令就可以了。
返回至“
【Linux 常用命令】
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
笔记
服务器
数据库
后端
前端
工具
《To do list》
日常
阅读
电影
摄影
其他
Software
Windows
WIKIOE
所有分类
所有页面
侧边栏
站点日志
工具
链入页面
相关更改
特殊页面
页面信息