一、Linux文件管理类命令
1、pwd(print working directory):显示工作目录
格式:pwd [OPTION]...
-L, –logical use PWD from environment, even if it contains symlinks(即使路径是链接也用pwd命令查看)目录连接链接时,输出连接路径
-P, –physical avoid all symlinks(不打开链接)
实例1:用 pwd 命令查看默认工作目录的完整路径
[root@localhost ~]# pwd
/root
[root@localhost ~]#
实例2:使用 pwd 命令查看指定文件夹
[root@localhost ~]# cd /opt/soft/
[root@localhost soft]# pwd
/opt/soft
[root@localhost soft]#
实例3:目录连接链接时,pwd -P 显示出实际路径,而非使用连接(link)路径;pwd显示的是连接路径
[root@localhost soft]# cd /etc/init.d
[root@localhost init.d]# pwd
/etc/init.d
[root@localhost init.d]# pwd -P
/etc/rc.d/init.d
[root@localhost init.d]#
2、cd (change directory)切换目录
格式:cd [/PATH/TO/SOMEDIR]
cd ~(USERNAME) :可切换至用户名的家目录
cd – :在上一级目录与当前目录之间随意切换
cd $PWD
cd .. :返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思);
cd ../.. :返回上两级目录; cd !$ 把上个命令的参数作为cd参数使用
实例1:使用cd命令进入/opt/rh 目录
[root@localhost opt]# cd /opt/rh
[root@localhost rh]# pwd
/opt/rh
实例2:使用cd ..返回上级目录
[root@localhost rh]# pwd
/opt/rh
[root@localhost rh]# cd ..
[root@localhost opt]# pwd
/opt
实例3:使用cd ../..返回上两级目录
[root@localhost rh]# pwd
/opt/rh
[root@localhost rh]# cd ../..
[root@localhost /]# pwd
/
3、mkdir (make directory)创建指定的名称的目录
格式:mkdir [OPTION]... DIRECTORY...
-p: 自动按需创建父目录;
-v: verbose,显示详细过程;
-m MODE:直接给定权限;
注意:路径基名方为命令的作用对象;基名之前的路径必须得存在;
作业:请使用命令行展开功能来完成以下练习
(1)创建/tmp目录下的:a_c, a_d, b_c, b_d
[root@localhost tmp]# mkdir -v {a,b}_{c,d}
mkdir: 已创建目录 "a_c"
mkdir: 已创建目录 "a_d"
mkdir: 已创建目录 "b_c"
mkdir: 已创建目录 "b_d"
[root@localhost tmp]# ls
a_c a_d b_c b_d
[root@localhost tmp]#
(2)创建/tmp/mylinux目录下的:
mylinux/
├── bin
├── boot
│ └── grub
├── dev
├── etc
│ ├── rc.d
│ │ └── init.d
│ └── sysconfig
│ └── network-scripts
├── lib
│ └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│ └── local
│ ├── bin
│ └── sbin
└── var
├── lock
├── log
└── run
[root@localhost tmp]# mkdir -vpmylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local{bin,sbin},var,lock,lock,log,run}
mkdir: 已创建目录 "mylinux/bin"
mkdir: 已创建目录 "mylinux/boot"
mkdir: 已创建目录 "mylinux/boot/grub"
mkdir: 已创建目录 "mylinux/dev"
mkdir: 已创建目录 "mylinux/etc"
mkdir: 已创建目录 "mylinux/etc/rc.d"
mkdir: 已创建目录 "mylinux/etc/rc.d/init.d"
mkdir: 已创建目录 "mylinux/etc/sysconfig"
mkdir: 已创建目录 "mylinux/etc/sysconfig/network-scripts"
mkdir: 已创建目录 "mylinux/lib"
mkdir: 已创建目录 "mylinux/lib/modules"
mkdir: 已创建目录 "mylinux/lib64"
mkdir: 已创建目录 "mylinux/proc"
mkdir: 已创建目录 "mylinux/sbin"
mkdir: 已创建目录 "mylinux/sys"
mkdir: 已创建目录 "mylinux/tmp"
mkdir: 已创建目录 "mylinux/usr"
mkdir: 已创建目录 "mylinux/usr/localbin"
mkdir: 已创建目录 "mylinux/usr/localsbin"
mkdir: 已创建目录 "mylinux/var"
mkdir: 已创建目录 "mylinux/lock"
mkdir: 已创建目录 "mylinux/log"
mkdir: 已创建目录 "mylinux/run"
[root@localhost tmp]# tree mylinux/
mylinux/
├── bin
├── boot
│ └── grub
├── dev
├── etc
│ ├── rc.d
│ │ └── init.d
│ └── sysconfig
│ └── network-scripts
├── lib
│ └── modules
├── lib64
├── lock
├── log
├── proc
├── run
├── sbin
├── sys
├── tmp
├── usr
│ ├── localbin
│ └── localsbin
└── var
23 directories, 0 files
4、rmdir(remove empty directories)删除空目录
格式:rmdir [OPTION]... DIRECTORY...
-p:删除某目录后,如果其父目录为空,则一并删除之;
-v:显示过程;
实例1:删除test2下的子目录test3
[root@localhost tmp]# tree test2/
test2/
└── test3
1 directory, 0 files
[root@localhost tmp]# cd test2
[root@localhost test2]# rmdir test3
[root@localhost test2]# cd ..
[root@localhost tmp]# tree test2
test2
0 directories, 0 files
二、文件查看类命令:
cat, tac,more, less, tail,head
1、cat
格式:cat [OPTIN]...[FILE]
-n或-number:有1开始对所有输出的行数编号;
-b或--number-nonblank:和-n相似,只不过对于空白行不编号;
-s或--squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行;
-A:显示不可打印字符,行尾显示“$”;
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;
2、tac 反向列式
tac 是将cat反写过来,所以他的功能就跟cat相反,cat是由第一行到最后一行连续显示在萤幕上,而tac则是由最后一行到第一行反向在萤幕上显示出来!
格式: tac [OPTION]...[FILE]
-a或--append:将内容追加到文件的末尾
-i或--ignore-interrupts:忽略中断信号。
3、more&less
more命令:
格式:more [FILE]
特点:翻屏至文件尾部后自动退出;
4、head&tail
head命令:查看文件的前n行;
格式:head [options] FILE
-n # 查看前N行
-#
tail命令: 查看文件的后n行;
格式:tail [options] FILE
-n #
-#
-f:查看文件尾部内容结束后不退出,跟随显示新增的行;
4、stat
文件的数据分两种:一种元数据,既属性数据;一种就是数据本身;可使用stat命令查看文件的元数据
stat - display file or file system status
格式:stat FILE...
文件:两类数据
元数据:metadata
数据: data
实例1:查看文件access time
[root@localhost ~]# stat file_new
File: `file_new'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: ca01h/51713d Inode: 655637 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 111/linuxdaxue.com) Gid: ( 503/linuxdaxue.com)
Access: 2016-12-31 22:34:50.000000000 +0800
Modify: 2016-12-31 22:34:50.000000000 +0800
Change: 2016-06-16 14:30:33.233275690 +0800
时间戳:
access time:2015-12-10 16:12:22.776423693 +0800
modify time:2015-12-10 16:12:22.776423693 +0800
change time:2015-12-10 16:12:22.776423693 +0800
实例2:查看文件系统信息
[root@localhost ~]# stat -f /dev/
File: "/dev/"
ID: 0 Namelen: 255 Type: tmpfs
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 124777 Free: 124738 Available: 124738
Inodes: Total: 124777 Free: 124220
5、touch命令
可以使用touch命令更改文件的时间戳:
touch - change file timestamps
格式:touch [OPTION]... FILE...
-c: 指定的文件路径不存在时不予创建;
-a: 仅修改access time;
-m:仅修改modify time;
-t STAMP
使用指定的日期时间,而非现在的时间[[CC]YY]MMDDhhmm[.ss]
6、alies
alias:显示当前shell进程所有可用的命令别名
格式语法:#alias name=‘command line’
删除别名:
格式:unalias name
# unalias cp
-p 打印出现有的别名;若不加任何参数,则列出目前所有的别名设置
注意:在命令行中定义的别名,仅对当前shell进程有效,如果想永久有效,要定义配置文件
仅对当前用户:~/.bashrc
对所有有效:/etc/bashrc
实例1:
[root@localhost ~]# alias l='ll'
[root@localhost ~]# l
总用量 200
-rw-------. 1 root root 2131 3月 9 23:36 anaconda-ks.cfg
实例2:查看alias
[root@localhost ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ll'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'