目录常用指令
cd
切换目录(change directory)
# 切换到当前用户的主目录
[root@localhost ~]# cd
# 使用绝对路径切换
[root@localhost ~]# cd /usr/bin
[root@localhost bin]#
# 使用相对路径切换
root@localhost bin]# cd ../lib
[root@localhost lib]#
# 切换到上一次访问的目录
[root@localhost lib]# cd -
/usr/bin
[root@localhost bin]#
# 切换到指定账户的主目录(yousiku为我的个人用户名)
[root@localhost bin]# cd ~yousiku
[root@localhost yousiku]#
pwd
显示目前所在目录(print working directory)
root@localhost ~]# pwd
/root
mkdir
创建新目录(make directory)
# 在当前目录下新建目录
[yousiku@localhost ~]$ mkdir test
# 但是直接创建多层目录会报错
[yousiku@localhost ~]$ mkdir test1/test2/test3
mkdir: 无法创建目录"test1/test2/test3": 没有那个文件或目录
# 需加上-p参数可以创建多层目录
[yousiku@localhost ~]$ mkdir -p test1/test2/test3
# 创建指定权限目录
[yousiku@localhost ~]$ mkdir -m 711 test2
rmdir
删除目录(remove directory),需注意:rmdir只能删除空目录!
# 删除空目录
[yousiku@localhost ~]$ rmdir test
# 下面的命令只删除test3目录
[yousiku@localhost ~]$ rmdir test1/test2/test3
# 加上-p参数后才会删除多层目录(前提是依次从末端目录删除后上层目录是空目录)
[yousiku@localhost ~]$ rmdir -p test1/test2
如果需要删除一个非空的目录则需要使用rm
命令,下文会有介绍
文件常用指令(同样适用于目录)
ls
列出文件与目录内容(list directory contents)
# 列出当前目录下的文件和目录
[root@localhost ~]# ls
anaconda-ks.cfg test
# 同时列出隐藏文件(开头为.的文件)
[root@localhost ~]# ls -a
. anaconda-ks.cfg .bash_logout .bashrc .tcshrc
.. .bash_history .bash_profile .cshrc test
# 列出文件同时显示具体信息
[root@localhost ~]# ls -l
总用量 4
-rw-------. 1 root root 1257 10月 20 07:01 anaconda-ks.cfg
-rwxr-xr--. 1 yousiku yousiku 0 11月 25 19:59 test
# 结合-a -l参数同时使用
[root@localhost ~]# ls -al
总用量 28
dr-xr-x---. 2 root root 147 11月 25 19:59 .
dr-xr-xr-x. 17 root root 224 10月 20 06:26 ..
-rw-------. 1 root root 1257 10月 20 07:01 anaconda-ks.cfg
-rw-------. 1 root root 1495 11月 27 22:07 .bash_history
-rw-r--r--. 1 root root 18 12月 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 12月 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 12月 29 2013 .bashrc
-rw-r--r--. 1 root root 100 12月 29 2013 .cshrc
-rw-r--r--. 1 root root 129 12月 29 2013 .tcshrc
-rwxr-xr--. 1 yousiku yousiku 0 11月 25 19:59 test
# 列出指定目录下的内容
[root@localhost ~]# ls /var
adm crash empty gopher lib lock mail opt run tmp
cache db games kerberos local log nis preserve spool yp
cp
复制文件或目录(copy)
# 复制test并命名为tset1
[yousiku@localhost ~]$ cp test test1
# 加-r参数复制目录
[yousiku@localhost ~]$ cp -r test2 tset3
rm
移除文件或目录(remove)
# 删除文件
[yousiku@localhost ~]$ rm test
# 加-r参数删除目录
[yousiku@localhost ~]$ rm -r test2
注意:rm -r
是一个危险命令,因为它会递归删除指定目录下的全部内容!
mv
移动/更名文件或目录(move)
# 移动test1到test2并更名为test3
[yousiku@localhost ~]$ mv test1 test2/test3
查看文件内容
cat
输出文件内容(concatenate files and print on the standard output)
# 列出所选文件内容
[root@localhost ~]# cat test
this is line 1
this is line 2
this is line 3
# 列出时显示行号
[root@localhost ~]# cat -n test
1 this is line 1
2 this is line 2
3 this is line 3
tac
反向输出文件内容,tac
即cat
倒过来写
[root@localhost ~]# tac test
this is line 3
this is line 2
this is line 1
more
可翻页显示文件内容。有时一个文件非常大则可以用more
命令:
[root@localhost ~]# more .bash_history
ls -l test
chmod u+x,o-w test
ls -l test
cd /
ls
cd bin
ls
ls -l cat
--More--(27%)
然后在出现的界面中按下:
- 空格键(space) : 向下翻一页
- 回车键(Enter) : 向下翻一行
- /某字符串 : 向下查找“某字符串”所在位置
- :f :立刻显示文件名及所在行数
- q : 退出
- b : 往上翻一页
file
查看文件类型
[root@localhost ~]# file test
test: ASCII text
[root@localhost ~]# file ..
..: directory
文件搜索
which
寻找可执行文件(即指令)的位置
[root@localhost ~]# which cd
/bin/cd
whereis
只在一些特定目录中搜索文件
[root@localhost ~]# whereis cd
cd: /usr/bin/cd /usr/share/man/man1/cd.1.gz
若想知道“特定目录”包含哪些,可以通过whereis -l
查看
以上只是列出了常用命令的部分使用方式,每个命令的详细使用方式建议有空通过man [命令]
了解!
思维导图
Linux文件与目录管理常用命令.png