linux命令(部分)
- 格式:doc
- 大小:65.50 KB
- 文档页数:8
Linux必学的60个命令二Linux 系统信息存放在文件里,文件与普通的公务文件类似。
每个文件都有自己的名字、内容、存放地址及其它一些管理信息,如文件的用户、文件的大小等。
文件可以是一封信、一个通讯录,或者是程序的源语句、程序的数据,甚至可以包括可执行的程序和其它非正文内容。
Linux文件系统具有良好的结构,系统提供了很多文件处理程序。
这里主要介绍常用的文件处理命令。
◆安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;◆文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;◆系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;◆网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、nslookup;◆系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;◆其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。
file1.作用内容判断文件类型,使用权限是所有用户。
2.格式file通过探测文file [options] 文件名3.[options]主要参数-v:在标准输出后显示版本信息,并且退出。
-z:探测压缩过的文件类型。
-L:允许符合连接。
-f name:从文件namefile中读取要分析的文件名列表。
4.简单说明使用file命令可以知道某个文件究竟是二进制(ELF格式)的可执行文件, 还是Shell Script文件,或者是其它的什么格式。
file能识别的文件类型有目录、Shell脚本、英文文本、二进制可执行文件、C语言源文件、文本文件、DOS的可执行文件。
linux常用100个命令以下是常用的100个Linux命令:1. ls - 列出当前目录中的文件和文件夹2. cd - 改变当前工作目录3. pwd - 显示当前工作目录的路径4. mkdir - 创建一个新的目录5. rmdir - 删除一个空的目录6. touch - 创建一个新的空文件7. cp - 复制文件或目录8. mv - 移动或重命名文件或目录9. rm - 删除文件或目录10. cat - 显示文件内容11. less - 逐行显示文件内容12. head - 显示文件的前几行内容13. tail - 显示文件的后几行内容14. grep - 在文件中搜索匹配的文本15. find - 在文件系统中搜索文件16. chmod - 改变文件或目录的权限17. chown - 改变文件或目录的所有者18. chgrp - 改变文件或目录的所属组19. du - 显示目录或文件的磁盘使用情况20. df - 显示文件系统的磁盘使用情况21. file - 显示文件的类型22. ln - 创建一个硬链接或符号链接23. mount - 挂载文件系统24. umount - 卸载文件系统25. tar - 创建或解压归档文件26. gzip - 压缩文件27. gunzip - 解压缩文件28. wget - 下载文件29. curl - 通过URL获取或发送数据30. ssh - 远程登录到另一台计算机31. scp - 在本地主机和远程主机之间复制文件32. ping - 测试与另一台计算机的连接33. ifconfig - 显示或配置网络接口34. netstat - 显示网络连接、路由表等信息35. iptables - 配置防火墙规则36. ps - 显示当前运行的进程37. top - 显示系统中运行的进程和资源使用情况38. kill - 终止正在运行的进程39. service - 启动、停止或重启系统服务40. systemctl - 管理系统服务41. uname - 显示系统信息42. date - 显示或设置系统时间和日期43. history - 显示或搜索命令历史记录44. which - 显示可执行文件的路径45. echo - 显示文本或变量的值46. export - 设置环境变量47. source - 执行一个脚本文件48. alias - 创建命令别名49. sed - 流编辑器,用于文件内容的替换和修改50. awk - 文本处理工具,用于提取和处理文本数据51. sort - 对文本进行排序52. uniq - 删除重复的行53. diff - 比较两个文件的差异54. tr - 替换、删除或压缩字符55. cut - 从文本中提取字段56. paste - 将多个文件的行合并成一行57. join - 根据共同的字段将两个文件合并58. split - 将文件分割成多个较小的文件59. grep -v - 显示不匹配的文本行60. grep -c - 统计匹配的文本行数61. grep -i - 忽略大小写进行匹配62. grep -r - 递归地搜索目录中的文件63. grep -w - 匹配整个单词而不是部分匹配64. grep -A - 显示匹配行及其后面的几行65. grep -B - 显示匹配行及其前面的几行66. grep -C - 显示匹配行及其前后的几行67. awk '{print $1}' - 打印每行的第一个字段68. awk '{print $NF}' - 打印每行的最后一个字段69. awk '/pattern/{print}' - 打印匹配模式的行70. awk '/pattern/{print $2}' - 打印匹配模式的第二个字段71. awk '{sum+=$1} END {print sum}' - 计算第一列的总和72. awk '{if ($1 > 10) print}' - 打印第一列大于10的行73. awk '{if ($1 > 10) print $2}' - 打印第一列大于10的第二个字段74. awk '{print NR, $0}' - 打印行号和整行内容75. awk '{for (i=1; i<=NF; i++) print $i}' - 打印每个字段76. sed 's/pattern/replace/' - 替换匹配的文本77. sed '/pattern/d' - 删除匹配的文本行78. sed '/pattern/s/old/new/' - 在匹配的文本行中替换文本79. sed '/pattern/!d' - 删除不匹配的文本行80. sed '1d' - 删除第一行81. sed '$d' - 删除最后一行82. sed -n '1,5p' - 打印前5行83. sed -n '5,$p' - 打印从第5行到最后一行84. sed -n '/pattern/p' - 打印匹配的文本行85. sed -n '/pattern/{p;q;}' - 打印匹配的文本行并退出86. sort -n - 对数字进行排序87. sort -r - 逆序排序88. sort -u - 去除重复的行89. sort -k2 - 按第二个字段进行排序90. sort -t',' -k2 - 使用逗号作为分隔符,按第二个字段进行排序91. uniq -c - 统计重复的行数92. uniq -d - 只显示重复的行93. uniq -u - 只显示不重复的行94. diff -u - 显示详细的差异95. diff -r - 递归比较目录中的文件96. tr 'a-z' 'A-Z' - 将小写字母转换为大写字母97. tr -d '[:digit:]' - 删除所有数字98. tr -s ' ' - 合并连续的空格为一个空格99. cut -d',' -f1 - 使用逗号作为分隔符,打印第一个字段100. cut -c1-5 - 打印每行的前五个字符这些命令是Linux中最常用的命令之一,可以帮助您在终端中进行文件和文本处理、系统管理、网络配置等操作。
Linux常用命令及示范Linux是一种开源的操作系统,它具有高效、稳定、安全等优点,广泛应用于服务器、嵌入式设备、云计算等领域。
Linux系统提供了丰富的命令行工具,可以方便地对系统进行管理、配置、监控和调试。
本文将介绍Linux常用的一些命令,包括文件操作、目录操作、进程管理、网络管理、系统管理和其他实用的命令,并给出一些具体的示例,帮助读者掌握Linux命令的基本用法和技巧。
一、文件操作命令文件是Linux系统中最基本的单位,它可以是文本文件、二进制文件、设备文件等。
Linux系统提供了一些命令,可以对文件进行创建、删除、复制、移动、重命名、查看、编辑等操作。
下面介绍一些常用的文件操作命令。
1. touch命令touch命令的作用是创建一个空文件或者修改一个已有文件的时间戳。
它的基本语法是:touch [选项] 文件名其中,选项可以是:-a:只修改访问时间-c:如果文件不存在,不创建新文件-m:只修改修改时间-r:把指定文件的时间戳复制给另一个文件-t:指定修改时间,格式为[[CC]YY]MMDDhhmm[.ss]例如:# 创建一个空文件test.txttouch test.txt# 修改test.txt的访问时间和修改时间为当前时间touch test.txt# 修改test.txt的访问时间为2021年4月1日10:00:00touch -a -t 202104011000.00 test.txt# 把test.txt的时间戳复制给test2.txttouch -r test.txt test2.txt2. rm命令rm命令的作用是删除一个或多个文件或目录。
它的基本语法是:rm [选项] 文件或目录其中,选项可以是:-f:强制删除,忽略不存在的文件或目录,不提示确认-i:交互式删除,删除前提示确认-r:递归删除,删除目录及其子目录和文件例如:# 删除一个文件test.txtrm test.txt# 删除一个目录test,并提示确认rm -ir test# 强制删除一个目录test及其子目录和文件,不提示确认rm -rf test3. cp命令cp命令的作用是复制一个或多个文件或目录。
Linux提供了大量得命令,利用它可以有效地完成大量得工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。
所以,在Linux系统上工作离不开使用系统提供得命令。
要想真正理解Linux系统,就必须从Linux命令学起,通过基础得命令学习可以进一步理解Linux系统.不同Linux发行版得命令数量不一样,但Linux 发行版本最少得命令也有200多个。
这里笔者把比较重要与使用频率最多得命令,按照它们在系统中得作用分成下面六个部分一一介绍。
◆安装与登录命令:login、shutdown、halt、re boot、install、mount、umount、chsh、exit、last;◆文件处理命令:、grep、dd、find、mv、ls、diff、cat、ln;◆系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;◆网络操作命令:ifconfig、ip、ping、netstat、telnet、、rlogin、rcp、finger、mail、nslookup;◆系统安全相关命令:passwd、su、umask、ch grp、chmod、chown、chattr、sudo ps、who;◆其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。
本文以Mandrake Linux 9、1(Kenrel 2、4、21)为例,介绍Linux下得安装与登录命令。
login1、作用login得作用就是登录系统,它得使用权限就是所有用户。
2、格式login[name][—p][-h 主机名称]3、主要参数—p:通知login保持现在得环境参数。
-h:用来向远程登录得之间传输用户名。
如果选择用命令行模式登录Linux得话,那么瞧到得第一个Linux命令就就是login:。
一般界面就是这样得:Manddrake Linux release9、1(Bamboo)for i586 renrel 2、4、21-0、13mdkon i686 / tty1localhostlogin:rootpassword:上面代码中,第一行就是Linux发行版本号,第二行就是内核版本号与登录得虚拟控制台,我们在第三行输入登录名,按“Enter”键在Passw ord后输入账户密码,即可登录系统。
Linux基础知识部分的命令及任务整理1.5 与Linux进行交互三个简单命令小试牛刀1、whoami 显示当前登录用户的用户名whoami --help 显示whoami命令简短帮助文档whoami --version 显示whoami命令的版本信息2、echo “字符串” 在屏幕上回显字符串内容echo –n “字符串” 在屏幕上回显字符串内容之后不换行echo –e “字符串\n\n”输出反斜杠开头的转义字符(\n表示换一行,两个\n 表示换两行)3、nano 是一个文本编译工具,有自己的界面,保存ctrl+o,ctrl+g查看nano帮助文档,ctrl+x退出帮助文档,再按ctrl+x退出当前文档4、在终端中,有两个有用的功能:一是历史命令功能,用上下箭头来浏览并选择曾经输入过的命令;还可以使用history命令显示在哪行用过的命令,通过输入!#(#表示命令用的行号)即可自动输入。
二是命令补齐功能,输入命令的一部分时,按下tab键会帮输入剩下的字符,补充完整命令名称;如果有多个命令,则连按两下tab键,会显示所有相符的命令。
1.7 关闭和重启只有根用户root才有权限使用,ctrl+c或者shutdown -c取消关机命令-h选项是关机,-r选项是重启任务一:10分钟后关机(shutdown –h 10 系统将在10分钟后关机维护,维护时间大约20分钟,请各位保存好手头工作,以免数据丢失。
)任务二:今天午夜12点关机(shutdown –h 00:00)任务三:立即关机(shutdown –h now)其他关机重启指令reboot=shutdown –r now;halt=shutdown –h now;2管好文件2.1切换、创建和删除目录pwd 命令显示当前完整的工作目录clear 命令可以清除终端命令行cd 命令切换工作目录,熟悉特殊字符代表特定目录:.点号—表示当前工作目录..双点号—表示工作目录上层目录-连字符—表示前一个工作目录~波浪号—表示用户的家目录mkdir 创建目录(mkdir –p选项创建嵌套目录)任务:在当前目录下创建dirlevel01目录,同时在dirlevel01下创建dirlevel02目录。
Linux基本操作命令(⼀)⽬录1.⽂件和⽬录操作命令2.⽤户和⽤户组操作命令3.vim编辑器操作命令4.打包和解压操作命令5.系统操作命令为什么要学习linux?1.linux是⼀款操作系统2.linux经常来作为服务器操作系统来⽤作⽤:1.查看⽇志(任何操作的⽇志)2.定位bug(查看⽇志,⽇志级别:info/debug/error....)3.搭建环境(搭建测试环境)以上三条就是测试⼈员会在⼯作经常要⽤的三点需要的软件1.CENTOS 6.8----linux操作系统2.Xshell 5---远程连接⼯具其它还有PYTT secureCRT3.winSCP---windows与linux传输⼯具⽂件和⽬录操作命令1.linux终端共有6个,分别tty1---tty6 通过ctrl + alt+F1~F6进⾏切换2.[root@localhost ~]# 后光标闪烁表⽰可以执⾏命令/编辑root===表⽰当前登录的⽤户名@----表⽰在localhost---主机域名~ ---- 表⽰root⽤户的家⽬录root⽤户的家⽬录路径:/root普通⽤户的家⽬录 ~普通⽤户的家⽬录 /home/普通⽤户的⽤户名⽬录# ---- 表⽰是root $ ---表⽰是普通⽤户3.快捷键ctrl+c 终⽌当前命令ctrl+l 清屏ctrl+D =exit 当前⽤户退出ctrl+z 暂停当前命令 fg---恢复执⾏TAB键----⾃动补全如果输⼊的字符串是唯⼀的,单击tab键就会⾃动补全如果输⼊的字符串不是唯⼀的,双击tab键显⽰所有以输⼊的字符开头的⽬录或⽂件linux命令⼀样的可以⾃动补全注意点:⾃动补全只补全当前⽬录下存在的⽬录或⽂件名称4.⽬录/----表⽰根⽬录常⽤⽬录/home 普通⽤户的家⽬录/root 是root⽤户的家⽬录不管是普通⽤户还是root登录成功后,所在位置都是在各⾃的家⽬录下/etc 配置⽂件位置(⽤户、密码、服务的配置⽂件等)/opt 保存第三⽅软件安装位置/usr/local 安装第三⽅软件的位置/tmp 临时⽂件,⾃动清空不管是存放软件包或者⽂件时,都去新建相应的⽬录,最好是当前登录⽤户家⽬录下⾯,不要随意删除别⼈的⽂件5.绝对路径和相对路径什么是绝对路径?什么是相对路径?绝对路径是从根⽬录开始的完整路径相对路径是从当前位置(⽤户所在的路径位置)开始的路径. 表⽰当前⽬录.. 表⽰上⼀级⽬录pwdpwd --查看当前位置的路径(是从根⽬录开始)cd ----切换⽬录ls1.ls ---list---显⽰当前⽬录或指定⽬录下⽂件和⽬录经常使⽤的选项:ls -l ==ll ---查看当前⽬录下的⽂件和⽬录,以较长格式显⽰⽂件和⽬录显⽰格式讲解:第⼀个 -/d/l 表⽰⽂件类型- ⼆进制⽂件 d ⽬录 l 软链接第⼆个部分 rwxrwxrwx 表⽰各类⽤户的权限r -read 读权限 w-wirte 写权限 x ---执⾏权限r-x 表⽰只有读和执⾏权限rwx rwx rwx第⼀个rwx表⽰⽂件或⽬录所属⽤户的权限第⼆个rwx表⽰⽂件或⽬录所属组的权限第三个rwx表⽰⽂件或⽬录其他⽤户的权限第三个部分 root 表⽰⽂件或⽬录所属⽤户的⽤户名第四个部分 root 表⽰⽂件或⽬录所属组的组名第五个部分 12288 表⽰⽂件或⽬录的⼤⼩第六个部分 Feb 25 18:41 表⽰⽂件或⽬录的最后修改时间第七个部分⽂件或⽬录的名称2.ls -a ==ls --all 查看当前⽬录下的所有⽂件和⽬录,包括隐藏⽂件3.ls -h 表⽰以容易理解的格式显⽰⽂件的⼤⼩, 必须与-l⼀起使⽤,才能有所体现4.ls -i 显⽰⽂件和⽬录的i节点每⼀个⽂件和⽬录的i节点都是唯⼀的,我们可以通过i节点来查找⽂件和⽬录mkdirmkdir --创建新⽬录格式:mkdir [-p] 路径/新⽬录名1.在当前⽬录下创建新⽬录2.在指定的⽬录下创建新⽬录3.-p, --parents no error if existing, make parent directories as needed ---递归创建⽬录rmdirrmdir ---删除空⽬录1.如果是⽬录是⾮空,不能删除[root@localhost cc]# rmdir test/rmdir: failed to remove `test/': Directory not empty'2.不能删除⾮⽬录[root@localhost ~]# rmdir install.logrmdir: failed to remove `install.log': Not a directory'rmrm ---删除⽂件和⽬录⽤法:rm [选项]... ⽂件...不管是⽂件还是⽬录,经常使⽤就是rm -rf 要删除的东西(可以是多个,中间⽤空格隔开)[root@localhost tmp]# rm -rf cc test yum.logrm -rf *---删除当前⽬录下所有⽂件和⽬录rm -rf te*--删除以te开头的所有⽂件和⽬录删除以.1og结尾的内容:rm -rf *.log使⽤rm命令时,⼀定确保这个⽂件和⽬录确定要删除,在liunx系统⾥⾯删除是不可逆的,没有回收站1.删除⽂件[root@localhost tmp]# rm ifcfg-eth0rm:是否删除普通⽂件 "ifcfg-eth0"?y[root@localhost tmp]# rm -f test.log --删除不询问2.删除⽬录--- -r 同时会询问是否删除[root@localhost test_dir]# rm -r test/rm: descend into directory `test'? yrm: remove directory `test/testt'? yrm: remove directory `test'? y'3.如果不想在删除过程⼀直有询问,可以使⽤-f---强制删除(需要更加谨慎) force[root@localhost test_dir]# rm -rf test/强制删除,并且没有询问如果有些⽂件使⽤rm 不能删除,我们也可以加上-f,同样的含义强制删除,并且没有询问cpcp --复制⽂件或⽬录⽤法:cp [选项] 原⽂件或⽬录⽬标⽬录语法:cp -rp [原⽂件或⽬录][⽬标⽬录]1.复制⽂件:[root@localhost test_dir]#cp /etc/sysconfig/network-scripts/ifcfg-eth0 /tmp/test[root@localhost test_dir]#cp /etc/sysconfig/network-scripts/ifcfg-eth0 ..[root@localhost test_dir]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /tmp2.-p 保留原⽂件或⽬录的属性,属性就是ls -l所展⽰的东西[root@localhost tmp]# cp -p /etc/sysconfig/network-scripts/ifcfg-eth0 /tmp3.-r 复制⽬录[root@localhost tmp]# cp -r ./test_dir/test .结论:cp 复制⽂件或⽬录,复制成功后,原⽂件或⽬录还存在在复制的过程中,还可以改名mvmv与cp 最⼤的区别就是⼀个不保留原⽂件,⼀个保留原⽂件1.剪切--不改名[root@localhost test_dir]# mv ../ifcfg-eth0 .2.剪切-改名[root@localhost tmp]# mv test_dir/ifcfg-eth0 ./test.log3.改名[root@localhost test_dir]# mv test tests作⽤:⽤来备份场景:放了⼀个lib⽂件运⾏,开发说你替换⼀下lib⽂件但是我们保证开发的lib的⽂件就是OK ,那这种情况最好备份mv chaa.lib chaa.lib.baktouchtouch -创建空⽂件[root@localhost test]# touch test.log这个命令不经常⽤,创建⽂件是vim编辑器catcat 显⽰⽂件内容[root@localhost test]# cat yum.conf⼀次性将⽂件内容完全展⽰出来,并且退出从⽽可得出cat不适合查看⽂件很⼤的⽂件,cat只适合于查看⽂件内容偏⼩的⽂件tactac 倒着显⽰⽂件内容[root@localhost test]# tac test.log适合查看⽂件内容偏⼩的,并且将最⼀⾏显⽰在最前⾯moremore 分页显⽰⽂件的内容空格或f 向下翻页enter键换⾏(⼀⾏⼀⾏的显⽰)同时在页⾯最下⽅的位置显⽰⽂件显⽰的当前进度q或Q 退出缺点:只能向下翻页,不能向上查看lessless 分页显⽰⽂件的内容(向上翻页)空格或f 向下翻页enter键换⾏q或Q 退出pgup/pgdn 向上/向下⼀页⼀页切换⽅向键向上/向下⼀⾏⼀⾏切换在⽂件中查找指定字符串时:2.在/后⾯输⼊要查找的指定字符串⽐如:/error3.回车⽬前显⽰的⼀个指定字符串是从当前位置查找到的第⼀个,可以按“n”继续向下查找其它的此⽅法经常⽤于在⽇志定位问题,或在修改⽂件要修改指定内容less是显⽰⽂件内容命令中⽤得最多的headhead --显⽰⽂件前⾯⼏⾏1.在不跟任何选项和参数时,默认显⽰⽂件的前⼗⾏[root@localhost test]# head services.log2.只显⽰⽂件的前⾯5⾏(⾏数前的-很重要)[root@localhost test]# head -5 services.logtailtail 显⽰⽂件最后的⼏⾏1.默认显⽰⽂件的最后⼗⾏[root@localhost test]# tail test.log2.只显⽰⽂件的最后三⾏ -n[root@localhost test]# tail -3 test.log==[root@localhost test]# tail -n 3 test.log3.-f 动态显⽰⽂件的最后⼏⾏(经常⽤)tail -400f XX.log动态就是显⽰⽂件新增的内容⽤于场景:主要⽤于实时动态显⽰操作⽇志同样是⽤于定位bugchmodchmod -改变⽂件或⽬录的权限(读写执⾏)user group other所有者所有组其它⼈+ 增加 - 删除 = 等于1.将⽂件的写权限删除[root@localhost test]# chmod u-w test.log2.给所有组增加执⾏的权限[root@localhost test]# chmod g+x test.log3.给其它⼈赋于读写执⾏的权限[root@localhost test]# chmod o=rwx test.log4.错误⽅式chmod u=rw o=r test.log这种⽅式不⾏,不能同时修改所有者、所有组和其它⼈的权限以上根据⽤户来+-=三种⽅式来修改权限,显得过于⿇烦解决⽅法:r=4 w=2 x=14+2+1=7 ⽤7这⼀个数字来代表所有权限1.给所有者赋读写权限,所有组为读执⾏权限其它⼈赋读权限[root@localhost test]# chmod 654 test.log通过数字的⽅式同时修改不同⽤户的权限2.给所有⽤户都赋于读写权限6[root@localhost test]# chmod 666 test.log⽬前更改权限最简便的⽅法,也是最常⽤的3.给⽬录赋权[root@localhost test]# chmod 764 test12/同时在⽂件或⽬录前可以加上绝对路径或相对路径4.-R 递归修改⽂件或⽬录的权限(经常使⽤)[root@localhost test]# chmod -R 644 ./test12/test是同时将⽬录下⾯所有的⽂件和⼦⽬录中内容权限⼀并修改chmod root和普通⽤户都有权限chownchown 改变⽂件的所有者(经常使⽤)1.改变test_dir.log⽂件的所有者为root[root@localhost test]# chown root test_dir.log2.普通⽤户改变log.log的所有者[test@localhost ~]$ chown test log.logchown: changing ownership of `log.log': Operation not permitted'chown普通⽤户是没权限进⾏操作这个命令,只有root才有权限去改变⽂件或⽬录的所有者chgrpchgrp 改变⽂件和⽬录的所有组[root@localhost test]# chgrp test test但是这个命令我们⼀般不⽤,因为很少会去只改变⽂件和⽬录的所有组如果要改变所有组,⼀般会同时改变所有者和所有组如果是同时改变所有者和所有组,可以⽤chown经常使⽤的⽅式[root@localhost test]# chown wq:wq testumaskumask ---显⽰⽂件和⽬录的默认权限775/755 创建⼀个⽬录664/644 创建⼀个⽂件022 umask---取反--7557-0=7 7-2=5 7-2=5代表⼀个⽬录初始的权限为755,⼀个⽂件的初始权限为644(⽂件没有可执⾏权限)findfind ---⽂件搜索格式:find [搜索范围][匹配条件]1.根据name来搜索(经常⽤)a.精确搜索[root@localhost test]# find /etc -name servicesb.模糊搜索init开头的⽂件和⽬录[root@localhost test]# find /etc -name init*c.模糊搜索init结尾的⽂件和⽬录[root@localhost test]# find /etc -name *initd.模糊搜索包含init的⽂件和⽬录[root@localhost test]# find /etc -name *init*e.模糊搜索以init开头的后⾯只有三个字符串的⽂件或⽬录 * 代表⼀组字符串代表⼀个字符[root@localhost test]# find /etc -name initlinux对⼤⼩很敏感,⽽且空格也敏感[root@localhost test]# find /etc -name INITf.根据name搜索时,不区分⼤⼩写⽤选项 -iname[root@localhost test]# find /etc -iname INIT/etc/inittab[root@localhost test]# find /etc -name INIT没有搜索出任何数据2.根据⽂件⼤⼩搜索a.⼤于4096的⽂件 +4096[root@localhost test]# find /etc -size +4096b.⼩于4096的⽂件 -4096[root@localhost test]# find /etc -size -4096c.等于4096的⽂件[root@localhost test]# find /etc -size 4096d.⼤于4096同时⼩于641020的⽂件 -a[root@localhost test]# find /etc -size +4096 -a -size -641020 e.⼤于4096或者⼩于641020的⽂件[root@localhost test]# find /etc -size +4096 -o -size -6410203.根据⽂件所有者去搜索[root@localhost test]# find /home/test -user test[root@localhost test]# find -user test如果不写搜索范围,默认搜索从当前⽬录开始,搜索下⾯匹配的⽂件和⽬录4.根据⽂件属性搜索a.搜索5分钟之内内容被修改的⽂件[root@localhost test]# find . -mmin -5⽂件内容被修改的同时,⽂件属性也会被修改b.搜索3分钟之内⽂件属性被修改的⽂件[root@localhost test]# find . -cmin -3amin cmin mmin后⾯接分钟atime ctime mtime后⾯接⼩时5.根据⽂件类型来搜索- ⼆进制⽂件f d ⽬录 l 软链接1.搜索⽬录---⽂件类型为d[root@localhost test]# find . -type d2.搜索当前⽬录下⽂件类型为⽂件 f[root@localhost test]# find . -type - ---错误find: -type 的参数未知: -[root@localhost test]# find . -type f ---正确3.搜索当前⽬录下的⽂件类型为软链接 l[root@localhost test]# find . -type l4.在根⽬录下搜索⽂件名称为services的⽂件[root@localhost test]# find / -name services -type fgrepgrep --搜索⽂件的内容1.搜索test.log这个⽂件中包含qwer字符串的⾏[root@localhost test]# grep qwer ./test.log2.不区分⼤⼩写进⾏搜索选项 -i[root@localhost test]# grep -i test test.log3.搜索不包含123的⽂件内容[root@localhost test]# grep -v 123 test.log4.搜索不包含test的⽂件内容,不区分⼤⼩写[root@localhost test]# grep -iv test test.log5.搜索不是以1开头的⽂件内容[root@localhost test]# grep -v ^1 test.log6.搜索以1开头的⾏[root@localhost test]# grep ^1 test.log^ 表⽰以什么开头在shell脚本 #表⽰注释7.屏蔽掉注释⾏ --[root@localhost test]# grep -v ^# sysctl.conf8.经常使⽤的⼀种⽅法---管道|[root@localhost test]# ps -ef |grep javaps -ef 查询进程|管道符 command1 | command2将command1的输出作为command2的输⼊[root@localhost test]# ls -l |grep testlnln --链接命令链接分为软链接和硬链接1.给⽬录创建软链接 -s[root@localhost tmp]# ln -s /tmp/test/test12/test ./test1 lrwxrwxrwx. 1 root root 21 Apr 14 21:06 test1 -> /tmp/test/test12/test 软链接的⼤⼩⾮常⼩,只是⼀个链接软链接相当于windows下⾯的快捷⽅式2.给⽂件创建软链接[root@localhost tmp]# ln -s /tmp/test/test12/test/tw.log .软链接的⽬标⽂件和原⽂件的i节点不同3.给⽂件创建⼀个硬链接[root@localhost tmp]# ln /tmp/test/test12/test/tw.log ./tw1.log硬链接的i节点相同[root@localhost tmp]# ln /tmp/test/test12/test ./test_dir ln: `/tmp/test/test12/test': hard link not allowed for directory'硬链接不能针对⽬录使⽤,只能对⽂件使⽤。
Linux常⽤命令(带详细操作截图及说明)⼀般在实际操作过程中都是在公司服务器上操作,很少有⼈会专门在家连接服务器学习linux。
那么在家如何学习Linux呢?简单,虚拟机就可以,还不⽤装双系统。
我们可以在windows系统装安装vmWare,然后使⽤Liunx系统镜像就可以学习了,可以使⽤的Linux版本很多,Fedora、Suse、RedHat、Ubuntu等,我选⽤的是Fedora。
⾸先:连接服务器【本地操作不涉及,但是我们还是按照实战环境做下演练】涉及两点:使⽤哪个⽤户,何种连接⽅式linux中有⼀个超级⽤户root,权限最⼤,这个⼀般不会放开root远程登录的权限的,都是使⽤普通⽤户连接登录;连接⽅式⼀般是:SSH假如使⽤的⽤户为admin,那么我们使⽤连接⼯具时在命令⾏中输⼊:ssh admin@服务器IP,然后输⼊密码即可另外我们刚说到⼀般不会放开root远程登录权限,那要是⼆班呢,好吧,那就说下如何放开root远程登录权限吧⼀般系统相关的配置都放在etc⽬录中,要开启远程权限就是修改/etc/ssh下的sshd_config⽂件。
修改如下配置项为yes,如果⾸字符有#号注释还要去掉#。
PermitRootLogin yes有的操作系统可能还需要在AllowsUser后添加 root,具体情况具体看,这⾥不做展开。
登录服务器之后,我们就可以“为所欲为”了,哈哈,开个玩笑,操作服务器还是要谨慎再谨慎的。
此时,我们肯定是迫不及待的使⽤命令解决问题呀,但是不巧,命令的⼀些参数和说明记不起来了怎么办,怎么办呀,没事,系统有相应的帮助⽂档哦,如何使⽤呢?命令 --helpman 命令 //man是manual的缩写info 命令 //info是information的缩写第⼀种⽅式多个系统验证是没有问题的,后两种⽅式在Fedora也是没有问题的,在其他的系统有的不⽀持。
[root@localhost ssh]# cp --helpUsage: cp [OPTION]... [-T] SOURCE DESTor: cp [OPTION]... SOURCE... DIRECTORYor: cp [OPTION]... -t DIRECTORY SOURCE...Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.Mandatory arguments to long options are mandatory for short options too.-a, --archive same as -dR --preserve=all--attributes-only don't copy the file data, just the attributes--backup[=CONTROL] make a backup of each existing destination file-b like --backup but does not accept an argument--copy-contents copy contents of special files when recursive-d same as --no-dereference --preserve=links-f, --force if an existing destination file cannot beopened, remove it and try again (this optionis ignored when the -n option is also used)-i, --interactive prompt before overwrite (overrides a previous -noption)-H follow command-line symbolic links in SOURCE-l, --link hard link files instead of copying-L, --dereference always follow symbolic links in SOURCE-n, --no-clobber do not overwrite an existing file (overrides now,查看cp命令的帮助⽂档,只截取了⼀部分参数。
Linux常⽤命令操作⼤全(推荐收藏)⽬录1.系统信息2.关机 (系统的关机、重启以及登出 )3.⽂件和⽬录4.⽂件搜索5.挂载⼀个⽂件系统6.磁盘空间7.⽤户和群组9.⽂件的权限 - 使⽤ "+" 设置权限,使⽤ "-" ⽤于取消10.⽂件的特殊属性 - 使⽤ "+" 设置权限,使⽤ "-" ⽤于取消11.打包和压缩⽂件12.RPM 包 - (Fedora, Redhat及类似系统)13.YUM 软件包升级器 - (Fedora, RedHat及类似系统)14.DEB 包 (Debian, Ubuntu 以及类似系统)15.APT 软件⼯具 (Debian, Ubuntu 以及类似系统)16.查看⽂件内容17.⽂本处理18.字符设置和⽂件格式转换19.⽂件系统分析20.初始化⼀个⽂件系统21.SWAP⽂件系统22.备份23.光盘24.⽹络 - (以太⽹和WIFI⽆线)1.系统信息命令arch显⽰机器的处理器架构(1)uname -m显⽰机器的处理器架构(2)uname -r显⽰正在使⽤的内核版本dmidecode -q显⽰硬件系统部件 - (SMBIOS / DMI)hdparm -i /dev/hda罗列⼀个磁盘的架构特性hdparm -tT /dev/sda在磁盘上执⾏测试性读取操作cat /proc/cpuinfo显⽰CPU info的信息cat /proc/interrupts显⽰中断cat /proc/meminfo校验内存使⽤cat /proc/swaps显⽰哪些swap被使⽤cat /proc/version显⽰内核的版本cat /proc/net/dev显⽰⽹络适配器及统计cat /proc/mounts显⽰已加载的⽂件系统lspci -tv罗列 PCI 设备lsusb -tv显⽰ USB 设备date显⽰系统⽇期cal 2007显⽰2007年的⽇历表date 0412********.00设置⽇期和时间 - ⽉⽇时分年.秒clock -w将时间修改保存到 BIOS2.关机 (系统的关机、重启以及登出 )命令shutdown -h now关闭系统(1)init 0关闭系统(2)telinit 0关闭系统(3)命令shutdown -h hours:minutes &按预定时间关闭系统shutdown -c取消按预定时间关闭系统shutdown -r now重启(1)reboot重启(2)logout注销3.⽂件和⽬录命令cd /home进⼊ '/ home' ⽬录'cd ..返回上⼀级⽬录cd ../..返回上两级⽬录cd进⼊个⼈的主⽬录cd ~user1进⼊个⼈的主⽬录cd -返回上次所在的⽬录pwd显⽰⼯作路径ls查看⽬录中的⽂件ls -F查看⽬录中的⽂件ls -l显⽰⽂件和⽬录的详细资料ls -a显⽰隐藏⽂件ls [0-9]显⽰包含数字的⽂件名和⽬录名tree显⽰⽂件和⽬录由根⽬录开始的树形结构(1)lstree显⽰⽂件和⽬录由根⽬录开始的树形结构(2)mkdir dir1创建⼀个叫做 'dir1' 的⽬录'mkdir dir1 dir2同时创建两个⽬录mkdir -p /tmp/dir1/dir2创建⼀个⽬录树rm -f file1删除⼀个叫做 'file1' 的⽂件rmdir dir1删除⼀个叫做 'dir1' 的⽬录'rm -rf dir1删除⼀个叫做 'dir1' 的⽬录并同时删除其内容rm -rf dir1 dir2同时删除两个⽬录及它们的内容mv dir1 new_dir重命名/移动⼀个⽬录cp file1 file2复制⼀个⽂件cp dir/* .复制⼀个⽬录下的所有⽂件到当前⼯作⽬录cp -a /tmp/dir1 .复制⼀个⽬录到当前⼯作⽬录cp -a dir1 dir2复制⼀个⽬录ln -s file1 lnk1创建⼀个指向⽂件或⽬录的软链接ln file1 lnk1创建⼀个指向⽂件或⽬录的物理链接touch -t 0712250000 file1修改⼀个⽂件或⽬录的时间戳 - (YYMMDDhhmm)iconv -l列出已知的编码4.⽂件搜索命令find / -name file1从 '/' 开始进⼊根⽂件系统搜索⽂件和⽬录find / -user user1搜索属于⽤户 'user1' 的⽂件和⽬录find /home/user1 -name \*.bin在⽬录 '/ home/user1' 中搜索带有'.bin' 结尾的⽂件find /usr/bin -type f -atime +100搜索在过去100天内未被使⽤过的执⾏⽂件find /usr/bin -type f -mtime -10搜索在10天内被创建或者修改过的⽂件find / -name \*.rpm -exec chmod 755 '{}' \;搜索以 '.rpm' 结尾的⽂件并定义其权限find / -xdev -name *.rpm搜索以 '.rpm' 结尾的⽂件,忽略光驱、捷盘等可移动设备locate *.ps寻找以 '.ps' 结尾的⽂件 - 先运⾏ 'updatedb' 命令whereis halt显⽰⼀个⼆进制⽂件、源码或man的位置which halt显⽰⼀个⼆进制⽂件或可执⾏⽂件的完整路径命令5.挂载⼀个⽂件系统命令mount /dev/hda2 /mnt/hda2挂载⼀个叫做hda2的盘 - 确定⽬录 '/ mnt/hda2' 已经存在umount /dev/hda2卸载⼀个叫做hda2的盘 - 先从挂载点 '/ mnt/hda2' 退出fuser -km /mnt/hda2当设备繁忙时强制卸载umount -n /mnt/hda2运⾏卸载操作⽽不写⼊ /etc/mtab ⽂件- 当⽂件为只读或当磁盘写满时⾮常有⽤mount /dev/fd0 /mnt/floppy挂载⼀个软盘mount /dev/cdrom /mnt/cdrom挂载⼀个cdrom或dvdrommount /dev/hdc /mnt/cdrecorder挂载⼀个cdrw或dvdrommount /dev/hdb /mnt/cdrecorder挂载⼀个cdrw或dvdrommount -o loop file.iso /mnt/cdrom挂载⼀个⽂件或ISO镜像⽂件mount -t vfat /dev/hda5 /mnt/hda5挂载⼀个Windows FAT32⽂件系统mount /dev/sda1 /mnt/usbdisk挂载⼀个usb 捷盘或闪存设备mount -t smbfs -o username=user,password=pass//WinClient/share /mnt/share挂载⼀个windows⽹络共享6.磁盘空间命令df -h显⽰已经挂载的分区列表ls -lSr |more以尺⼨⼤⼩排列⽂件和⽬录du -sh dir1估算⽬录 'dir1' 已经使⽤的磁盘空间'du -sk * | sort -rn以容量⼤⼩为依据依次显⽰⽂件和⽬录的⼤⼩rpm -q -a --qf '%10{SIZE}t%{NAME}n'sort -k1,1ndpkg-query -W -f='installed-size;10t{Package}n'sort -k1,1n7.⽤户和群组命令groupadd group_name创建⼀个新⽤户组groupdel group_name删除⼀个⽤户组groupmod -n new_group_name old_group_name重命名⼀个⽤户组useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bashuser1创建⼀个属于 "admin" ⽤户组的⽤户useradd user1创建⼀个新⽤户userdel -r user1删除⼀个⽤户 ( '-r' 排除主⽬录)usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1修改⽤户属性passwd修改⼝令passwd user1修改⼀个⽤户的⼝令 (只允许root执⾏)chage -E 2005-12-31 user1设置⽤户⼝令的失效期限pwck检查 '/etc/passwd' 的⽂件格式和语法修正以及存在的⽤户grpck检查 '/etc/passwd' 的⽂件格式和语法修正以及存在的群组newgrp group_name登陆进⼀个新的群组以改变新创建⽂件的预设群组9.⽂件的权限 - 使⽤ "+" 设置权限,使⽤ "-" ⽤于取消命令ls -lh显⽰权限ls /tmp | pr -T5 -W$COLUMNS将终端划分成5栏显⽰命令chmod ugo+rwx directory1设置⽬录的所有⼈(u)、群组(g)以及其他⼈(o)以读(r )、写(w)和执⾏(x)的权限chmod go-rwx directory1删除群组(g)与其他⼈(o)对⽬录的读写执⾏权限chown user1 file1改变⼀个⽂件的所有⼈属性chown -R user1 directory1改变⼀个⽬录的所有⼈属性并同时改变改⽬录下所有⽂件的属性chgrp group1 file1改变⽂件的群组chown user1:group1 file1改变⼀个⽂件的所有⼈和群组属性find / -perm -u+s罗列⼀个系统中所有使⽤了SUID控制的⽂件chmod u+s /bin/file1设置⼀个⼆进制⽂件的 SUID 位 - 运⾏该⽂件的⽤户也被赋予和所有者同样的权限chmod u-s /bin/file1禁⽤⼀个⼆进制⽂件的 SUID位chmod g+s /home/public设置⼀个⽬录的SGID 位 - 类似SUID ,不过这是针对⽬录的chmod g-s /home/public禁⽤⼀个⽬录的 SGID 位chmod o+t /home/public设置⼀个⽂件的 STIKY 位 - 只允许合法所有⼈删除⽂件chmod o-t /home/public禁⽤⼀个⽬录的 STIKY 位10.⽂件的特殊属性 - 使⽤ "+" 设置权限,使⽤ "-" ⽤于取消命令chattr +a file1只允许以追加⽅式读写⽂件chattr +c file1允许这个⽂件能被内核⾃动压缩/解压chattr +d file1在进⾏⽂件系统备份时,dump程序将忽略这个⽂件chattr +i file1设置成不可变的⽂件,不能被删除、修改、重命名或者链接chattr +s file1允许⼀个⽂件被安全地删除chattr +S file1⼀旦应⽤程序对这个⽂件执⾏了写操作,使系统⽴刻把修改的结果写到磁盘chattr +u file1若⽂件被删除,系统会允许你在以后恢复这个被删除的⽂件lsattr显⽰特殊的属性11.打包和压缩⽂件命令bunzip2 file1.bz2解压⼀个叫做 'file1.bz2'的⽂件bzip2 file1压缩⼀个叫做 'file1' 的⽂件gunzip file1.gz解压⼀个叫做 'file1.gz'的⽂件gzip file1压缩⼀个叫做 'file1'的⽂件gzip -9 file1最⼤程度压缩rar a file1.rar test_file创建⼀个叫做 'file1.rar' 的包rar a file1.rar file1 file2 dir1同时压缩 'file1', 'file2' 以及⽬录 'dir1'rar x file1.rar解压rar包unrar x file1.rar解压rar包tar -cvf archive.tar file1创建⼀个⾮压缩的 tarballtar -cvf archive.tar file1 file2 dir1创建⼀个包含了 'file1', 'file2' 以及 'dir1'的档案⽂件tar -tf archive.tar显⽰⼀个包中的内容tar -xvf archive.tar释放⼀个包tar -xvf archive.tar -C /tmp将压缩包释放到 /tmp⽬录下tar -cvfj archive.tar.bz2 dir1创建⼀个bzip2格式的压缩包tar -xvfj archive.tar.bz2解压⼀个bzip2格式的压缩包tar -cvfz archive.tar.gz dir1创建⼀个gzip格式的压缩包tar -xvfz archive.tar.gz解压⼀个gzip格式的压缩包zip file1.zip file1创建⼀个zip格式的压缩包zip -r file1.zip file1 file2 dir1将⼏个⽂件和⽬录同时压缩成⼀个zip格式的压缩包unzip file1.zip解压⼀个zip格式压缩包12.RPM 包 - (Fedora, Redhat及类似系统)命令rpm -ivh package.rpm安装⼀个rpm包rpm -ivh --nodeeps package.rpm安装⼀个rpm包⽽忽略依赖关系警告rpm -U package.rpm更新⼀个rpm包但不改变其配置⽂件rpm -F package.rpm更新⼀个确定已经安装的rpm包rpm -e package_name.rpm删除⼀个rpm包rpm -qa显⽰系统中所有已经安装的rpm包rpm -qa grep httpdrpm -qi package_name获取⼀个已安装包的特殊信息rpm -qg "System Environment/Daemons"显⽰⼀个组件的rpm包rpm -ql package_name显⽰⼀个已经安装的rpm包提供的⽂件列表rpm -qc package_name显⽰⼀个已经安装的rpm包提供的配置⽂件列表rpm -q package_name --whatrequires显⽰与⼀个rpm包存在依赖关系的列表rpm -q package_name --whatprovides显⽰⼀个rpm包所占的体积rpm -q package_name --scripts显⽰在安装/删除期间所执⾏的脚本lrpm -q package_name --changelog显⽰⼀个rpm包的修改历史rpm -qf /etc/httpd/conf/httpd.conf确认所给的⽂件由哪个rpm包所提供rpm -qp package.rpm -l显⽰由⼀个尚未安装的rpm包提供的⽂件列表rpm --import /media/cdrom/RPM-GPG-KEY导⼊公钥数字证书rpm --checksig package.rpm确认⼀个rpm包的完整性rpm -qa gpg-pubkey确认已安装的所有rpm包的完整性rpm -V package_name检查⽂件尺⼨、许可、类型、所有者、群组、MD5检查以及最后修改时间rpm -Va检查系统中所有已安装的rpm包- ⼩⼼使⽤rpm -Vp package.rpm确认⼀个rpm包还未安装rpm2cpio package.rpm cpio --extract --make-directories binrpm -ivh /usr/src/redhat/RPMS/arch/package.rpm从⼀个rpm源码安装⼀个构建好的包rpmbuild --rebuild package_name.src.rpm从⼀个rpm源码构建⼀个 rpm 包13.YUM 软件包升级器 - (Fedora, RedHat及类似系统)命令yum install package_name下载并安装⼀个rpm包yum localinstall package_name.rpm将安装⼀个rpm包,使⽤你⾃⼰的软件仓库为你解决所有依赖关系yum update package_name.rpm更新当前系统中所有安装的rpm包yum update package_name更新⼀个rpm包yum remove package_name删除⼀个rpm包yum list列出当前系统中安装的所有包yum search package_name在rpm仓库中搜寻软件包yum clean packages清理rpm缓存删除下载的包yum clean headers删除所有头⽂件yum clean all删除所有缓存的包和头⽂件14.DEB 包 (Debian, Ubuntu 以及类似系统)命令dpkg -i package.deb安装/更新⼀个 deb 包dpkg -r package_name从系统删除⼀个 deb 包dpkg -l显⽰系统中所有已经安装的 deb 包dpkg -l grep httpddpkg -s package_name获得已经安装在系统中⼀个特殊包的信息dpkg -L package_name显⽰系统中已经安装的⼀个deb包所提供的⽂件列表dpkg --contents package.deb显⽰尚未安装的⼀个包所提供的⽂件列表dpkg -S /bin/ping确认所给的⽂件由哪个deb包提供命令15.APT 软件⼯具 (Debian, Ubuntu 以及类似系统)命令apt-get install package_name安装/更新⼀个 deb 包apt-cdrom install package_name从光盘安装/更新⼀个 deb 包apt-get update升级列表中的软件包apt-get upgrade升级所有已安装的软件apt-get remove package_name从系统删除⼀个deb包apt-get check确认依赖的软件仓库正确apt-get clean从下载的软件包中清理缓存apt-cache search searched-package返回包含所要搜索字符串的软件包名称16.查看⽂件内容命令cat file1从第⼀个字节开始正向查看⽂件的内容tac file1从最后⼀⾏开始反向查看⼀个⽂件的内容more file1查看⼀个长⽂件的内容less file1类似于 'more' 命令,但是它允许在⽂件中和正向操作⼀样的反向操作head -2 file1查看⼀个⽂件的前两⾏tail -2 file1查看⼀个⽂件的最后两⾏tail -f /var/log/messages实时查看被添加到⼀个⽂件中的内容17.⽂本处理命令cat file1 file2 mand <> file1_in.txt_or_file1_out.txtcat file1command( sed, grep, awk, grep, etc...) > result.txtcat file1command( sed, grep, awk, grep, etc...) >> result.txt grep Aug /var/log/messages在⽂件 '/var/log/messages'中查找关键词"Aug"grep ^Aug /var/log/messages在⽂件 '/var/log/messages'中查找以"Aug"开始的词汇grep [0-9] /var/log/messages选择 '/var/log/messages' ⽂件中所有包含数字的⾏grep Aug -R /var/log/*在⽬录 '/var/log' 及随后的⽬录中搜索字符串"Aug"sed 's/stringa1/stringa2/g' example.txt将example.txt⽂件中的 "string1" 替换成 "string2"sed '/^$/d' example.txt从example.txt⽂件中删除所有空⽩⾏sed '/ *#/d; /^$/d' example.txt从example.txt⽂件中删除所有注释和空⽩⾏echo 'esempio'tr '[:lower:]' '[:upper:]'sed -e '1d' result.txt从⽂件example.txt 中排除第⼀⾏sed -n '/stringa1/p'查看只包含词汇 "string1"的⾏sed -e 's/ *$//' example.txt删除每⼀⾏最后的空⽩字符sed -e 's/stringa1//g' example.txt从⽂档中只删除词汇 "string1" 并保留剩余全部sed -n '1,5p;5q' example.txt查看从第⼀⾏到第5⾏内容sed -n '5p;5q' example.txt查看第5⾏sed -e 's/00*/0/g' example.txt⽤单个零替换多个零cat -n file1标⽰⽂件的⾏数cat example.txt awk 'NR%2==1'echo a b c awk '{print $1}'echo a b c awk '{print $1,$3}'paste file1 file2合并两个⽂件或两栏的内容paste -d '+' file1 file2合并两个⽂件或两栏的内容,中间⽤"+"区分sort file1 file2排序两个⽂件的内容sort file1 file2 | uniq取出两个⽂件的并集(重复的⾏只保留⼀份)sort file1 file2 | uniq -u删除交集,留下其他的⾏命令sort file1 file2 | uniq -d取出两个⽂件的交集(只留下同时存在于两个⽂件中的⽂件)comm -1 file1 file2⽐较两个⽂件的内容只删除 'file1' 所包含的内容comm -2 file1 file2⽐较两个⽂件的内容只删除 'file2' 所包含的内容comm -3 file1 file2⽐较两个⽂件的内容只删除两个⽂件共有的部分18.字符设置和⽂件格式转换命令dos2unix filedos.txt fileunix.txt将⼀个⽂本⽂件的格式从MSDOS转换成UNIXunix2dos fileunix.txt filedos.txt将⼀个⽂本⽂件的格式从UNIX转换成MSDOSrecode ..HTML < page.txt > page.html将⼀个⽂本⽂件转换成htmlrecode -l | more显⽰所有允许的转换格式19.⽂件系统分析命令badblocks -v /dev/hda1检查磁盘hda1上的坏磁块fsck /dev/hda1修复/检查hda1磁盘上linux⽂件系统的完整性fsck.ext2 /dev/hda1修复/检查hda1磁盘上ext2⽂件系统的完整性e2fsck /dev/hda1修复/检查hda1磁盘上ext2⽂件系统的完整性e2fsck -j /dev/hda1修复/检查hda1磁盘上ext3⽂件系统的完整性fsck.ext3 /dev/hda1修复/检查hda1磁盘上ext3⽂件系统的完整性fsck.vfat /dev/hda1修复/检查hda1磁盘上fat⽂件系统的完整性fsck.msdos /dev/hda1修复/检查hda1磁盘上dos⽂件系统的完整性dosfsck /dev/hda1修复/检查hda1磁盘上dos⽂件系统的完整性20.初始化⼀个⽂件系统命令mkfs /dev/hda1在hda1分区创建⼀个⽂件系统mke2fs /dev/hda1在hda1分区创建⼀个linux ext2的⽂件系统mke2fs -j /dev/hda1在hda1分区创建⼀个linux ext3(⽇志型)的⽂件系统mkfs -t vfat 32 -F /dev/hda1创建⼀个 FAT32 ⽂件系统fdformat -n /dev/fd0格式化⼀个软盘mkswap /dev/hda3创建⼀个swap⽂件系统21.SWAP⽂件系统命令mkswap /dev/hda3创建⼀个swap⽂件系统swapon /dev/hda3启⽤⼀个新的swap⽂件系统swapon /dev/hda2 /dev/hdb3启⽤两个swap分区22.备份命令dump -0aj -f /tmp/home0.bak /home制作⼀个 '/home' ⽬录的完整备份dump -1aj -f /tmp/home0.bak /home制作⼀个 '/home' ⽬录的交互式备份restore -if /tmp/home0.bak还原⼀个交互式备份rsync -rogpav --delete /home /tmp同步两边的⽬录rsync -rogpav -e ssh --delete /home ip_address:/tmp通过SSH通道rsyncrsync -az -e ssh --delete ip_addr:/home/public /home/local通过ssh和压缩将⼀个远程⽬录同步到本地⽬录rsync -az -e ssh --delete /home/local ip_addr:/home/public通过ssh和压缩将本地⽬录同步到远程⽬录dd bs=1M if=/dev/hda gzipdd if=/dev/sda of=/tmp/file1备份磁盘内容到⼀个⽂件tar -Puf backup.tar /home/user执⾏⼀次对 '/home/user' ⽬录的交互式备份操作( cd /tmp/local/ && tar c . )ssh -C user@ip_addr 'cd /home/share/ && tar x -p'( tar c /home )ssh -C user@ip_addr 'cd /home/backup-home && tar x -p'tar cf - .(cd /tmp/backup ; tar xf - )find /home/user1 -name '*.txt'xargs cp -av --target-directory=/home/backup/ --parentsfind /var/log -name '*.log'tar cv --files-from=-dd if=/dev/hda of=/dev/fd0 bs=512 count=1做⼀个将 MBR (Master Boot Record)内容复制到软盘的动作dd if=/dev/fd0 of=/dev/hda bs=512 count=1从已经保存到软盘的备份中恢复MBR内容命令23.光盘命令cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force清空⼀个可复写的光盘内容mkisofs /dev/cdrom > cd.iso在磁盘上创建⼀个光盘的iso镜像⽂件mkisofs /dev/cdrom gzip > cd_iso.gzmkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.isodata_cd创建⼀个⽬录的iso镜像⽂件cdrecord -v dev=/dev/cdrom cd.iso刻录⼀个ISO镜像⽂件gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom -刻录⼀个压缩了的ISO镜像⽂件mount -o loop cd.iso /mnt/iso挂载⼀个ISO镜像⽂件cd-paranoia -B从⼀个CD光盘转录⾳轨到 wav ⽂件中cd-paranoia -- "-3"从⼀个CD光盘转录⾳轨到 wav ⽂件中(参数-3)cdrecord --scanbus扫描总线以识别scsi通道dd if=/dev/hdc | md5sum校验⼀个设备的md5sum编码,例如⼀张 CD 24.⽹络 - (以太⽹和WIFI⽆线)命令ifconfig eth0显⽰⼀个以太⽹卡的配置ifup eth0启⽤⼀个 'eth0' ⽹络设备ifdown eth0禁⽤⼀个 'eth0' ⽹络设备ifconfig eth0 192.168.1.1 netmask 255.255.255.0控制IP地址ifconfig eth0 promisc设置 'eth0' 成混杂模式以嗅探数据包 (sniffing)dhclient eth0以dhcp模式启⽤ 'eth0'route -n show routing tableroute add -net 0/0 gw IP_Gateway configure default gatewayroute add -net 192.168.0.0 netmask 255.255.0.0 gw192.168.1.1configure static route to reach network '192.168.0.0/16' route del 0/0 gw IP_gateway remove static routeecho "1" > /proc/sys/net/ipv4/ip_forward activate ip routinghostname show hostname of systemhost lookup hostname to resolve name to ip address and viceversa(1)nslookup lookup hostname to resolve name to ip address and viceversa(2)ip link show show link status of all interfacesmii-tool eth0show link status of 'eth0'ethtool eth0show statistics of network card 'eth0'netstat -tup show all active network connections and their PIDnetstat -tupl show all network services listening on the system and their PIDtcpdump tcp port 80show all HTTP traffic命令iwlist scan show wireless networksiwconfig eth1show configuration of a wireless network cardwhois lookup on Whois database到此这篇关于Linux 常⽤命令操作⼤全(推荐收藏)的⽂章就介绍到这了,更多相关Linux 常⽤命令操作内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
ONE:1、基本指令练习i)进入本机的普通用户根目录:cd ~user 或cd /home/userii)显示当前所在目录和当前登录用户:pwd; whoiii)在当前目录下新建文件夹,文件夹名用学号后三位和姓名拼写命名,接着进入该目录中mkdir name123; cd name123iv)将当前目录中所有文件的信息罗列出来:ls -alv)进入上层目录,使用vi m新建文件testfile,并在其中输入姓名拼音和学号,保存后退出cd ../; vim testfile; a; name123; [Esc]; :wqvI)查看testfile的文件信息:ls –l testfilevii)删除文件testfile,接着删除以学号命名的目录:rm testfile; rm –r name1232、开关机练习(该练习每次重启后请留意是否需要重新设置录像)i)使用shutdown指令完成下列工作a)向所有联机用户发送1分钟后关机警告,但并不真的关机:shutdown –k time “this host will shutdown after 1 mintue”注:这里的time指的是根据当前后推1分钟的值b)重启系统,重启前先停止服务: shutdown –r nowii)使用reboot重启系统,要求启动前执行回填指令sync: sync; sync; sync; reboot3、帮助指令及思考题:i)通过使用帮助指令了解如何将上个月、当前月和下个月的月历显示出来: man cal; cal -3ii)使用帮助指令学会将当前月的每一天是本年中的第几天显示出来,如1月9日为今年的第九天等: cal -jiii)使用帮助指令学会设置系统时间,将当前系统时间修改正确: date –s ‘20130426 12:00’4、删除本机上某普通用户的密码步骤:开机数秒时点击“e”按钮;1、在新界面选择要单人模式登录的系统后(使用下箭头),再次点击“e”按钮;2、在新出现的选单中选择第二行,再次点击“e”按钮;3、在新界面的那行文字后输入一个空格,然后输入“single”,回车返回上层界面;4、点击“b”按钮启动系统;5、在提示符“#”后输入“vim /etc/shadow”,回车;6、使用上下键找到文件的最后一行,将光标移动到此行第一个冒号“:”后,然后点击delete键,将第一个和第二个冒号之间的内容删除(注意:决不能多删或少删,否则会无法登录!!!!)7、点击“:wq!”退出(注意这里必须加“!”,否则无法退出)8、使用reboot指令重启系统,再次使用刚才被删除密码的用户账号登录,将会见到无需密码即可进入系统。
TWO:1、改变文件权限指令练习一:i)以root用户登录系统,并进入本机某普通用户根目录: cd ~userii)新建一个文档文件,文件名使用姓名拼写和学号后三位: touch name123iii)查看该新建文件的当前属性:ls –l name123iv)将该文件的拥有者改为本机上某普通用户(注意:必须是系统的合法用户!): chown swh name123v)将该文件的群组改为本机上某普通用户所在群组: chgrp swh name123vi)使用数值法将该文件的权限改为拥有者具有全部权限,群组没有可执行权限,他人仅有可执行权限chmod 761 name123vii)查看该文件当前属性: ls –l name123viii)使用符号法将该文件的权限改为拥有者具有可读可写权限,群组具有可执行权限,他人具有可读可执行权限chmod u-x,g=x,o+r name123ix)查看该文件当前属性: ls –l name123x)新建一个文档文件,文件名随意指定,查看该文件初建时的权限与刚才所建的文件权限的区别:touch testfile; ls –l testfile name1232、改变文件权限指令练习二:(首先在图形界面下的系统设置项中新建一个普通用户,用户名为姓名拼写和学号后三位的组合)i)以新建的普通用户身份登录,在其根目录下新建一个目录testdir :cd ~; mkdir testdirii)查看该目录的属性信息: ls –ld testdiriii)进入该目录,新建一个文档文件testfile:cd testdir; touch testfileiv)注销系统(点红帽子->注销->确定),以root用户身份登录,接着将刚才建立的testdir目录的用户名和群组同时改为本机上其他普通用户的名字和群组: chown swh:swh testdirv)将目录testdir的拥有者权限改为只读(思考:修改目录的权限时需要注意什么?): chmod u=rx testdirvi)以testdir目录的拥有者账户登录系统,进入目录testdir,如果显示权限不足,请再次以root登录系统,重做第v步和第vi步3、路径练习:i)使用root用户登录系统,进入临时文件夹/tmp:cd /tmpii)使用目录指代符号直接进入root用户根目录:cd ~iii)进入本机某普通用户根目录,在其中新建目录mypath,接着在其中新建文件pathtest,在该文件中添加姓名拼写和学号,保存并退出编辑界面: cd ~user; mkdir mypath; cd mypath; vim pathtest; a; name 123; :wqiv)从当前所在目录使用相对路径方式进入文件夹/root: cd ../../../rootv)使用绝对路径方式打开刚才建立的pathtest文件,在其中添加该文件的绝对路径: vim /home/user/mypath/pathtest4、文件与目录指令练习:i)以root登录,查看当前所处目录的绝对路径: pwdii)在本机某普通用户的家目录中创建子目录rootdir,并同时创建rootdir的子目录sondir: mkdir –p ~user/rootdir/sondir iii)将文件/etc/shadow复制到sondir目录,并同时改名为用户指定文件名cp /etc/shadow /home/user/rootdir/sondir/name123iv)查看刚才复制的文件的属性: ls –l /home/user/rootdir/sondir/name123v)查看目录sondir的属性: ls –ld /home/user/rootdir/sondirvi)将复制来的文件移动到其父目录中: cd /home/user/rootdir/sondir/; mv name123 ../vii)将sondir目录删除: cd ..; rm –r sondi rTHREE:1、查看文件内容指令练习:i)进入本机某普通用户的根目录: cd /home/userii)将文件/etc/shadow复制到当前目录,并改名为姓名全拼: cp /etc/shadow ./name123iii)查看该复制文件的内容,要求(1)将文件内容从首行开始连续显示在屏幕上: cat name123(2)将文件内容分页显示在屏幕上,分别使用两个不同的指令完成要求: more name123; less name123(3)将文件内容显示在屏幕上,并同时显示行号,行号位数为4位,且空行也要加行号: nl –b a –w 4 name123 (4)只显示该文件的前5行: head -5 name123(5)只显示该文件的后10行: tail name1232、文件和目录管理指令练习:i)以本机某普通用户身份登录ii)查看当前所在目录的绝对路径: pwdiii)在当前目录下新建一个子目录testdir2,令其位于当前不存在的目录testdir1 下(即创建testdir2的同时也创建其父目录testdir1):mkdir –p testdir1/testdir2iv)查看目录testdir2的属性信息: ls –ld testdir1/testdir2v)查询当前用户家目录中所有的文件属性,包括隐藏文件在内: ls –al ~vi)查询上一个练习中复制的shadow文件的副本文件的完整修改时间: ls --full-time /home/user/name123vii)将上述副本文件重命名为shadowcopy: mv /home/user/name123 /home/user/shadowcopy 或cd /home/user;mv name123 shadowcopy3、touch指令练习:i)使用root用户登录系统,进入临时文件夹/tmp:cd /tmpii)建立空白文档,以姓名+学号的形式命名: touch name123iii)查询上述文件的完整修改时间: ls –-full-time name123iv)修改上述文件的修改时间为当前系统时间: touch –m name1234、默认权限练习i)查看当前用户的默认权限设置情况(要求使用两条指令,分别查看数值形式和字符形式表示的设置情况)umask; umask –Sii)查询上个练习中创建的空白文件的操作权限;在当前目录下创建一个新的目录,查看该目录的操作权限ls –l /tmp/name123; mkdir testdir; ls –ld testdiriii)在当前用户的基础默认权限中取消群组用户的写权限,同时也取消他人的全部权限:umask 027iv)新建一个文本文件和一个目录,查看它们的属性设置,比较其与没有改变默认权限设置前创建的同类文件的权限差异touch newfile; mkdir newdir; ls –ld newfile newdirv)将默认权限改为原值: 设原umask值为022,则指令应为umask 0225、搜索指令练习一i)查询reboot指令的默认搜索路径,要求分别查询其默认第一个匹配路径与全部可匹配路径:which reboot; which –a rebootii)查询系统中文件名称含有bashrc的所有文件:locate bashrciii)查询系统中所有名称为shadow的文件: whereis shadowiv)查询系统根目录下三天前曾访问的所有文件: find / -atime 3v)查询/home目录下所有大小大于100字节的文件: find /home –size +100cvi)查询/home目录下为用户root(id号码为0)所有的文件: find /home –user root或find /home –uid 05、搜索指令练习二(设当前登录用户是root)i)查询root用户家目录中一天前修改过内容的文件: find ~ -mtime 1ii)查询root用户家目录中一天内修改过状态的文件: find ~ -ctime 0iii)查询root用户家目录中所有比文件/root/install.log.syslog新的文件: find ~ -newer /root/install.log.syslogiv)查询/home中为root用户所有的文件: find /home –user rootv)查询/home中为root群组所有的文件: find /home –gid 0 或者find /home –group rootvi)查询/tmp目录下所有以mapping开头的常规文件: find /tmp -name mapping*vii)查询/tmp目录下所有权限值为755的文件: find /tmp -perm 755viii)仅查询/tmp目录下所有权限值为755的文件: find /tmp –maxdepth 1 –perm 755FOUR:1、链接文件练习:i)以root身份进入本机某普通用户的根目录: cd /home/userii)查看当前目录容量,以及当前分区上的inode使用情况: du –s; df -iiii)新建文本文件,在其中输入姓名和学号:vim newfile; a; name 123; [Esc] :wqiv)再次查看当前目录容量及当前分区的inode使用情况: du –s; df -iv)为刚才新建的文件创建软、硬链接文件,并在每次新建链接文件后都重新查看当前目录容量及当前分区的inode使用情况ln –s newfile newfile-sl; du-s; df –I; ln newfile newfile-hl; du –s; df -ivi)为第iii步新建的文件创建一个复制文件,并将其改名为testfile : cp newfile testfilevii)查询复制文件、链接文件和源文件的详细属性信息,即inode号码、操作权限、连接数、拥有者和群组用户账号、大小、修改时间等信息,仔细比较各项属性的异同: ls –l newfile-sl newfile-hl testfileviii)分别修改软硬链接和复制文件,并在每次修改后都打开源文件查看其内容的变化,注意观察链接文件、复制文件和源文件在空间占用上的关联性: vim newfile-sl; vim newfile; vim newfile-hl; vim newfile; vim testfile; vim newfile ix)删除源文件,再次打开软硬链接文件和复制文件,查看其内容,注意观察是否能正常打开它们rm newfile; cat newfile-hl; cat newfile-sl; cat testfile2、环境变量PATH相关练习:i)查看PATH的当前值: echo $PATHii)在桌面上打开一个新的终端,在本机的某普通用户家目录中新建一个文件pathfile,将刚才查看的PATH值记录在该文件内(可在新终端中使用文本编辑器将PATH值输入为文本,即保存PATH的当前值为pathfile文件)cd ~user; vim pathfile; a; 输入第一个终端中显示的PATH值; [Esc]; :wq或者: cd ~user; echo $PATH > pathfileiii)将本机上某普通用户的家目录追加在PATH的值中(注意PATH中的各个目录以冒号进行分隔): PATH=$PATH:/home/user iv)再次查看PATH的值,观察追加新值是否成功: echo $PATHv)将PATH的值修改为原值(pathfile中保存的值)PATH=此处输入刚才保存在pathfile中的内容或者: PATH=`cat pathfile`FIVE:1、新增硬盘练习:i)将虚拟机中的空白硬盘分割为两个主分区和两个扩展分区fdisk /dev/sdb;使用fdisk内部指令n新建分区,在此过程中可以看到,创建两个主分区和第一个扩展分区时没有问题,但创建第二个扩展分区时提示错误,这是因为一块硬盘上只能有一个扩展分区ii)将主分区1格式化为ext3格式: mke2fs –j /dev/sdb1iii)检查刚才格式化的硬盘是否有错误(坏轨):fsck –a /dev/sdb1iv)在目录/mnt下新建挂载点newfs : mkdir /mnt/newfsv)进入newfs中,查看当前该目录有哪些文件: cd /mnt/newfs; ls -avi)将新格式化的主分区1载入newfscd ../; mount –t ext3 /dev/sdb1 /mnt/newfsvii)再次查看newfs中的文件列表,观察是否与未挂载前相同: ls -a newfs2、挂载U盘练习:i)查看/mnt/usb中的当前内容ls -a /mnt/usb; 若没有此目录,可以先执行mkdir /mnt/usb指令创建它ii)将U盘挂载到新建的挂载点/mnt/usb上将鼠标点入linux,当看到vmware已经检测到U盘后,执行如下指令:fdisk -l; mount –t vfat /dev/sdc1 /mnt/usbiii)查看/mnt/usb中的当前内容,注意观察与上次执行时的结果变化ls –a /mnt/usbiv)将U盘卸载: umount /mnt/usb 或者umount /dev/sdc13、新增虚拟内存练习i)查询当前文件系统的swap分区划分情况: freeii)使用硬件法将刚才划分的主分区2设置为swap分区,并使用指令启动它fdisk /dev/sdb; t; 2; 82; wmkswap /dev/sdb2swapon /dev/sdb2iii)再次查询当前文件系统的swap分区划分情况: freevi)将swap分区关闭: swapoff /dev/sdb2v)再次查询当前文件系统的swap分区划分情况,注意观察变化情况: freevi)使用软件法在系统中新增一个swap文件,并使用指令启动它dd if=/dev/zero of=/tmp/myfile size=4096 count=128;mkswap /tmp/myfileswapon /tmp/myfilevii)再次查询当前文件系统的swap分区划分情况: freeviii)将swap文件关闭: swapoff /tmp/myfileSIX:1、压缩指令一(compress):i)在本机的某个普通用户根目录下新建一个文本文件,用学号命名,内容写姓名全拼cd ~user; vim name123; a; name; [Esc]; :wqii)使用compress指令将上述文件压缩: compress name123iii) 查看该压缩文件所在目录的所有可见文件信息:ls -liv)解压该压缩文件,再次查看压缩文件所在目录的可见文件信息compress –d name123.Z提示:仔细观察compress是否能在实验环境中实现2、压缩指令二(bzip2):i)复制刚才新建的学号命名的文件: cp name123 name456ii)使用bzip2指令将复制文件压缩: bzip2 name456iii) 查看该压缩文件所在目录的所有可见文件信息:ls -liv)在不解压文件的前提下查看刚建立的压缩文件内容: bzcat name456.bz2v)解压该压缩文件,再次查看压缩文件所在目录的可见文件信息bzip2 –d name456.bz2; ll3、压缩指令三(gzip):i)复制第一问中新建的学号命名的文件: cp name123 name789ii)使用gzip指令将复制文件压缩: gzip name789iii) 查看该压缩文件所在目录的所有可见文件信息:ls -liv)在不解压文件的前提下查看刚建立的压缩文件内容: zcat name789.gzv)解压该压缩文件,再次查看压缩文件所在目录的可见文件信息gzip -d name789.gz4、压缩指令四(tar):(以下每一小问请尽量使用一行指令完成)i)在本机某个普通用户根目录下新建文件夹: mkdir /home/user/testdirii)将刚才的学号文件与复制文件移动到该新建文件夹下cp name123 name456 name789 /home/user/testdiriii)将文件/etc/shadow和/etc/passwd复制到新建的文件夹下cp /etc/shadow /etcpasswd /home/user/testdiriv)将该文件夹下的所有文件打包为一个文件:tar –cvf testdir.tar /home/user/testdirv)在不解包的情况下查看该包内容: tar -tf testdir.tarvi)使用bzip2压缩该包,在压缩过程中要显示被压缩的文件列表。