感谢支持
我们一直在努力

Linux系统管理命令之管理文件和目录

内部命令与外部命令的区别:


内部命令是Shell自带能用help查看的命令。


外部命令为第三方软件安装的命令


一些快捷键:


Tab:自动补全命令。


反斜杠“\”:强制换行后在下一行出现的“>”提示符后可以延续上一行命令。


Ctrl+U: 删除当前光标处之前的所有字符内容。


Ctrl+K: 删除从当前光标处到行尾的所有字符内容。


Ctrl+L: 清屏。


Ctrl+C: 取消当前的命令。


获得帮助命令:


1)  help  //提示简单的命令格式 例子:help pwd


2)  –help  //显示应用命令字的格式及选项等帮助信息。例子: ls –help


3)  man  //手册页常用于外部软件在安装时为执行程序,配置文件的详细的帮助手册页,例子:man file   // file命令用于判断文件的类型


阅读man手册页时将以全屏幕的文本方式显示,使用方向键滚动一行文本,使用Page Up和Page Down键上下翻页,按Q或q退出手册页。按“/”可查找内容例子:“/-v”查找-v的帮助信息。按n或N进行上下定位选择。


4)info  //信息页(info Page)比man更详细的帮助手册,提供了不少主题间的跳转功能帮助。


例子:将ls命令的man手册页保存为文本文件lshelp.txt


# man ls | col –b > lshelp.txt


该命令中col命令用于过滤文本中的一些特殊控制字符。


| 管道符:类似水管,将该命令交给下一个命令处理。


>重定向输出:前面的命令成功执行后,其屏幕输出结果将保存到 > 号后边指定的文件中。


文件和目录管理


绝对路径与相对路径区别:


绝对路径全加“/”可是非常准确地表示一个目录或文件的所在位置。


相对路径开头使用“.”或“..”或“~”,一般用于表示当前工作目录作为起点。例子:“grub.conf”可表示当前目录下的grub.conf文件。


“./grub.conf”可表示同上。


“../vmlinuz”等同于/boot/vmlinuz。


“~teacher”可表示当前用户的宿主目录。


1 目录操作命令


pwd  //查看当前的工作目录


cd  //切换工作目录,进入文件夹。


ls  //列表形式显示目录内容:


-l:以长格式(Long)显示文件和目录的列表。


-a:显示所有(ALL)子目录和文件的信息,包括“.”开头的隐藏目录和文件。


-d:显示目录(Directory)本身的属性。


-A:与-a选项的作用基本类似,但不会显示“.”(表示当前目录),“..”(表示父目录)隐藏目录。


-h:以更人性化的方式显示出目录或文件的大小,默认单位为字节显示为K或M等单位。需要和-l选项结合使用。例子:ls  –lh  /etc/ns*.conf


-R:以递归(Recursive)的方式显示指定目录及其子目录中的所有内容。


–color:在字符模式中以颜色区分不同的文件,例子:–color=tty表示使用预定义的颜色方案。


mkdir  //新建文件夹(目录)


du  //统计目录及文件的空间占用情况


-a:统计磁盘空间占用时包括所有的文件。


-h:便于人性化阅读,单位K或M等。


-s:只统计每个参数所占用空间总的(Summary)大小。


例子:#du  -ah  /boot/vmlin*  //统计以“vmlin”开头的各文件所占用的大小。


#du  -sh  /var/log/  //统计该目录所占用空间的总大小。


文件操作命令


touch  //新建空文件


file  //查看文件类型


cp  //复制(Copy)


-f:强制复制,直接覆盖目标同名文件或目录


-i:覆盖目标同名文件或目录时进行确认提醒。


-p:复制时保持源文件的权限,属主及时间标记等属性不变。


-r:复制目录时必须使用,表示递归复制所有文件及子目录。


例子: #cp  /bin/touch  ./mytouch    //复制/bin/touch目录到当前目录下,并命名为 ./mytouch


#cp  -r  /boot/grub/  /etc/httpd/conf/  ./    //将这两个目录复制到当前目录中进行备份。


rm  //删除文件或目录


-f:强制删除文件或目录,不提醒。


-i:删除文件或目录并提醒用户确认。


-r:删除目录必须用此选项,表示递归删除整个目录树(谨慎使用)


mv  //移动文件或目录


例子:#mv  mytouch tfile.exe  //将当前目录中的mytouch文件改名为tfile.exe


which  //查找命令文件并显示所在的位置


-a:在所有搜索路径中查找


例子:#echo $PATH


#which ls      //显示当前默认搜索路径,并查找ls命令文件所在的位置。


find  //查找文件或目录


按名称查找:关键字“-name”,根据目标文件的部分名称查找可以使用“*”“?”通配符。


按文件大小查找:关键字“-size”一般使用“+”“-”号设置超过或小于指定的大小作为查找条件。常用的容量单位包括 k  ,M ,G。


按文件属主查找:关键字“-user”,根据文件是否属于目标用户进行查找。


按文件类型查找:关键字“-type”,这里的类型指的是普通文件(f),目录(d),块设备文件(b), 字符设备文件(c)等。块为硬盘,内存等,字符为键盘,鼠标等。


例子:#find  /etc  -name  “resol*.conf”  //查找名称以resol开头,以.conf结尾的文件。


#find  /boot  -type d  //在/boot目录中查找所以的目录。


#find  /var/log  -user lp  //在/var/log目录中查找属于用户lp的文件或目录。


#find  /boot  -size +1024k –a name “vmlinuz*”  //在/boot目录中查找超过1024KB而且文件名以“vmlinuz”开头的文件。可用运算符“-a”或“-o”,-a为And ,-o为Or。


Find命令还可以对查找到的结果进行过滤处理,在表达式后添加一个“-exec”关键字,并设置过滤用的命令即可。在过滤命令中使用“{ }”表示find命令的查询输出结果,最后必须添加“ \”表示命令结束。注前面有一个空格!


例子:#find  /var/log  -user  lp  –exec  ls  –ld  { }  \ ;  //在/var/log目录中查找属于用户lp的文件或目录,并以长格式显示其详细信息。


ln  //为文件或目录建立链接(Link)


链接文件分为符号链接,硬链接两种类型,区别是:硬链接不能跨越不同分区创建的硬链接。


符号链接(软连接),需要添加“-s”选项。两个链接与直接访问原始文件的效果基本相同。


例子:#ln  -s  /etc/httpd/conf/httpd.conf  /etc/     //为文件httpd.conf创建符号链接文件并保存到/etc目录中,以便需要时查找该文件,ls  -lh  /etc/httpd.conf


#ln  /usr/sbin/system-config-network  /sbin  /mynetconfig   //为网卡配置脚本文件创建名为 mynetconfig的硬链接文件,以便通过它对网卡参数进行配置。


文件内容操作命令


cat  //显示并连接(Concatenate)文件的内容


more和less 命令  //分页查看文件内容


head和tail命令  //查看文件开头或结尾的部分内容


-f:默认开头或最后十行内容。


wc  //统计文件内容中的单纯数量等信息


-c:统计文件内容中的字节数


-l:统计文件内容中的行数


-w:统计文件内容中的单词个数


例子:#ls  -l  /etc/*.conf  |  wc  -l   //统计/etc目录中.conf配置文件的个数。


grep   //检索,过滤文件内容(正则表达式)


-i:查找内容时忽略大小写


-v:反转查找,即输出与查找条件不相符的行


例子:#grep  –v  “^#”  /etc/vsftpd/vsftpd.conf  |  grep  -v  “^$”   //查看vsftpd.conf文件中除了以#号开头的行和空行以外的内容。$:用于结束。


#lspci  |  grep  -i  “Ethernet”   //执行“lspci”命令查看主机中的PCI设备信息,并过滤出其中以太网卡设备的信息。


归档与压缩命令


gzip和bzip2命令  //制作压缩或解压缩的文件


-9:可以有效提高压缩的比率


-d:解压缩专用命令。


例子:#gzip  -9  tfile.exe  //创建压缩文件


#gzip  -d  tfile.exe.gz  //解压缩文件


tar  //制作归档或释放文件


-c:创建(Create).tar格式的包文件


-C:解包时指定释放的目标文件夹


-f:表示使用归档文件


-j:调用bzip2程序进行压缩或解压缩


-p:打包时保留文件及目录的权限


-t:列表查看包内的文件


-v:输出详细信息


-x:解开.tar格式的包文件


-z:调用gzip程序进行压缩或解压


例子:#tar  zcf  sysfile.tar.gz  /etc  /boot     //备份/etc和/boot目录为sysfile.tar.gz包文件。


#tar  zxf  sysfile.tar.gz  //将sysfile.tar.gz包文件释放或解压到当前目录中。


Vi文本编辑器


#alias vi =’ /usr/bin/vim’


#which –a vi vim     //设置命令别名vi,以便执行vi命令时加载增强版的vim程序。


工作模式:命令模式,输入模式,末行模式。


模式切换:a , i , o , A ,I ,O


光标操作:方向键调整位置,  Page UP(Ctrl+B)  Page Down(Ctrl+F)翻页,行内快速跳转“^”或“0”跳转到首行,End或$跳转到本行结尾。行间快速跳转gg跳转到第一行G跳转到文件最后一行,#G跳转到文件中第#行(#用具体数字替换),:set  nu显示行号,:set  nonu取消显示行号。


复制粘贴删除:使用x或Del按键删除光标处的单个字符


Dd删除光标前内容,#dd删除从光标处开始第#行内容(#以具体数字代替)


Yy复制当前行整行的内容到剪贴板,#yy意思同上。


按p键可将内容粘贴到光标处之前。


U或u撤销编辑及保存退出,u:用于取消最近一次的操作,可进行多步恢复,U:取消对当前行所作的所有编辑。可按ZZ命令保存退出。


末行模式基本操作:


:w  //保存,另存为


:q!  //强行退出不保存


:wq  //保存并退出也可用:X


打开新文件或读入其他文件内容:


:e  ~/install.log   //打开当前目录下该文件进行编辑


:r  /etc/filesystems  //将该文件的内容复制到当前目录中


文件内容替换:


:替换范围 sub  /旧的内容/新的内容  /g


%:在整个文件内容中进行查找替换


n,m:在指定行数范围以内的文件内容中进行查找并替换


/g:可选内容结尾处,省略的话只替换每行中的第一个匹配结果


例子::sub  /i/r   //将当前行中的第一个i字母替换为大写I


:10,20  sub  /initdefault/DEFAULT/g    //把10~20行内的initdefault字符串替换为DEFAULT字符串。


:%  sub  /initdefault/DEFAULT/g   //把文件所有的initdefault字符串全部替换为DEFAULT字符串。

赞(0) 打赏
转载请注明出处:服务器评测 » Linux系统管理命令之管理文件和目录
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏