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字符串。

让我们从自身的禁锢中放心地飞出去,重新审视自己,

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

相关文章:

你感兴趣的文章:

标签云: