文件目录操作命令
[[email protected] ~]# nl -n rz -w 2 list.txt 01 ls 02 cd 03 pwd 04 mkdir 05 rm 06 rmdir 07 mv 08 cp 09 touch 10 cat 11 nl 12 more 13 less 14 head 15 tail
ls
ls打印当前目录的清单和详细信息,也可以指定文件或者文件夹的清单和详细信息
ls 【选项】 【目录名】
常用选项
-a 查看所有的子目录和文件
-A 把 “.” “..”过滤掉
-l 列出详细信息,也可以 ll 一样
-d 列出目录的属性
实例
[[email protected] ~]# ll data/web/log/system.log -rw-r--r-- 1 root root 15 Jan 4 18:19 data/web/log/system.log [[email protected] ~]# ll -d data/web/log/ drwxr-xr-x 2 root root 4096 Jan 4 18:19 data/web/log/ [[email protected] ~]# ls -A data/web/log/ system.log [[email protected] ~]# ls -a data/web/log/ . .. system.log [[email protected] ~]# ls / | wc -l(补充一个) 20
cd
cd切换到其他目录,
cd 【目录名】
常用选项
cd / 切换到根目录
cd 切换到家目录
cd data/web/log 切换到目标目录
cd ../ 切换到上级目录
cd ./ 当前目录
cd ~ 和cd一样切换到家目录
cd - 切换到上次所在的目录
[[email protected] ~]# cd / [[email protected] /]# cd [[email protected] ~]# cd data/web/log/ [[email protected] log]# cd ../ [[email protected] web]# cd ./ [[email protected] web]# cd ~ [[email protected] ~]# cd -(cd $ 也是可以实现的) /root/data/web
pwd
pwd 查看当前目录的完整路径
pwd 一般不适用任何参数
pwd -P 查看真实路径,如果目标文件有链接
[[email protected] web]# pwd /root/data/web [[email protected] web]# cd /etc/init.d/ [[email protected] init.d]# pwd -P /etc/rc.d/init.d
mkdir
mkdir 创建指定的文件目录
mkdir 【选项】 【目录名】
-m 可以设定目录权限
-p 递归创建目录
-v 每次创建都显示信息
[[email protected] ~]# mkdir sh [[email protected] ~]# mkdir -p sh/install/web/tar [[email protected] ~]# mkdir -m 777 install [[email protected] ~]# mkdir -vp install/{bin/,log/,svn/{zabbix,cacti},ftp/{web,mysql,php},postfix/mail/{admin,pm}} mkdir: created directory `install/bin/‘ mkdir: created directory `install/log/‘ mkdir: created directory `install/svn‘ mkdir: created directory `install/svn/zabbix‘ mkdir: created directory `install/svn/cacti‘ mkdir: created directory `install/ftp‘ mkdir: created directory `install/ftp/web‘ mkdir: created directory `install/ftp/mysql‘ mkdir: created directory `install/ftp/php‘ mkdir: created directory `install/postfix‘ mkdir: created directory `install/postfix/mail‘ mkdir: created directory `install/postfix/mail/admin‘ mkdir: created directory `install/postfix/mail/pm‘
[[email protected] ~]# tree install install ├── bin ├── ftp │?? ├── mysql │?? ├── php │?? └── web ├── log ├── postfix │?? └── mail │?? ├── admin │?? └── pm └── svn ├── cacti └── zabbix
rm
rm是用于删除的命令,该命令可以删除一个或者多个目录或者文件
rm [选项] [文件名]
-f 忽略不存在文件,从不提示
-i 进行交互式删除,删除一个文件提示你一下
-r 指示rm 删除指定文件以及下的全部目录和文件递归删除
-v 显示进行步骤
[[email protected] ~]# tree data/ data/ └── web └── log └── system.log 2 directories, 1 file [[email protected] ~]# rm -rfv data removed `data/web/log/system.log‘ removed directory: `data/web/log‘ removed directory: `data/web‘ removed directory: `data‘ [[email protected] ~]# rm -i zabbix/*.log rm: remove regular file `zabbix/1.log‘? y rm: remove regular file `zabbix/2.log‘? y
rmdir
rmdir 删除空目录 使用rm -r 危险性太大
rmdir [选项] [目录]
-v 显示执行过程
-p 递归删除子目录下也是空目录 ,并一起删除
[[email protected] ~]# rmdir zabbix rmdir: failed to remove `zabbix‘: Directory not empty [[email protected] ~]# rm -i zabbix/*.txt rm: remove regular file `zabbix/1.txt‘? y [[email protected] ~]# rmdir zabbix [[email protected] ~]# [[email protected] ~]# mkdir zabbix/install -p [[email protected] ~]# rmdir zabbix/install -p
mv
mv 可以用来移动文件或者文件改名,经常用来备份文件或目录
mv [选项] [源文件] [目标文件]
-b 若需覆盖文件,则覆盖前先备份
-f 若目标文件存在,强制覆盖
-i 已经存在会提示是否覆盖
[[email protected] ~]# mv aa.sh sh/install/web/install.sh [[email protected] ~]# mv -i install.sh sh/install/web/install.sh mv: overwrite `sh/install/web/install.sh‘? [[email protected] ~]# mv -b install.sh sh/install/web/install.sh mv: overwrite `sh/install/web/install.sh‘? y [[email protected] web]# ls install.sh install.sh~ tar [[email protected] ~]# mv -f install.sh sh/install/web/install.sh
cp
cp 用来复制文件或者目录
cp [选项] [源] [目录]
-p 所有权,时间戳
-a 整个目录文件全部拷贝
-i 拷贝时候复制
[[email protected] ~]# cp -ap sh shell/ [[email protected] ~]# tree shell/ shell/ └── sh └── install └── web ├── install.sh ├── install.sh~ └── tar
touch
touch 用来新建一个不存在的文件
touch [选项] [文件名]
[[email protected] ~]# touch ceshi.txt
cat
cat 用来打印输出显示文件内容,经常用重定向符号配合使用
cat [选项] [文件]
-n 显示行数
-s 有连续两行的空白行,就代为一行显示
[[email protected] ~]# cat -n log2016_1_6.log 1 install CentOS.6.5 2 install CentOS.6.5 3 install CentOS.6.5 4 install CentOS.6.5
nl
nl 可以将输出的内容默认带有行数,适合比较多的行数计算,可以自动加0
-n
rz 行数在后面加0
-w 制动占用的0位数
[[email protected] ~]# nl -n rz log2016_1_6.log 000001 install CentOS.6.5 000002 install CentOS.6.5 000003 install CentOS.6.5 000004 install CentOS.6.5 [[email protected] ~]# nl -n rz -w 3 log2016_1_6.log 001 install CentOS.6.5 002 install CentOS.6.5 003 install CentOS.6.5 004 install CentOS.6.5
more
more 类似cat,将整个文件显示屏幕上,按空格键往下翻,按b键 回翻
more [选项] [文件名] +n 从第几行显示 V 调用vi编辑器 q 退出 !命令 调用shell 并执行命令 --More--(10%)
less
less 也是用来查看的命令,可以上下翻页
less [选项] [文件名]
head
head 命令显示文件开头信息输出
head [参数] [文件名]
-n 显示的行数
-c 显示的字节数
[[email protected] ~]# head -n 5 who.txt 1 2 3 4 5 [[email protected] ~]# head -c 4 who.txt 1 2
tail
tail 和head相反,查看尾部信息
tail [选项] [文件名]
-c 显示字节
-n 显示行数
-f 循环读取,查看文件随时的变化
[[email protected] ~]# tail -5 who.txt 6 7 8 9 10 [[email protected] ~]# tail -c 8 who.txt 8 9 10 [[email protected] ~]# [[email protected] ~]# ping www.baidu.com > ping.log [[email protected] ~]# ping www.baidu.com > ping.log