Linux文件与目录管理常用指令

目录常用指令

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

反向输出文件内容,taccat倒过来写

[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文件与目录管理常用指令_第1张图片
Linux文件与目录管理常用命令.png

你可能感兴趣的:(Linux文件与目录管理常用指令)