01
我在那儿?pwd命令
在Bash shell中可以使用pwd(print working directory)命令显示当前工作目录,这样方便选择使用绝对路径还是相对路径准确的切换目录。
命令语法
pwd
举个例子
用户andy希望确定他现在所处的正确目录,应该使用pwd。
[andy@jinlong web]$ pwd
/home/andy/web
02
建立目录:mkdir
要将文件组织在目录里,必须先建立你需要的目录。在Linux系统中建立新目录的命令是mkdir(make directory)。
命令语法
mkdir [OPTIONS]
·常用选项
-p, --parents 此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
举个例子
在使用mkdir创建目录的过程中,如果没有directory(目录)存在,那么就建立目录,如果已经存在一个或者多个目录,会产生错误信息,但还会继续建立尚未存在的新的目录。
用户andy会这样建立子目录~/public_html:
$ mkdir public_html
$ ls
public_html web
用户andy然后可以为public_html建立子目录:
$ ls public_html
$ mkdir public_html/photo
$ ls public_html
photo
注意:在默认状态下,如果父目录不存在,mkdir命令不能为其建立子目录:
$ ls work
ls: cannot access work: No such file or directory
$ mkdir work/images
mkdir: cannot create directory `work/images': No such file or directory
如果用户andy使用mkdir –p(parent)命令,他可以一次建立整个目录树:
$ mkdir -p work/images
$ mkdir -p work/logos
$ mkdir -p work/photo
$ ls work
images logos photo
03
列出目录内容:ls
使用ls(ls是list的缩写)命令列出目录中的内容。
命令语法
ls [OPTIONS] 目录名
· 常用选项:
–a列出所有文件,包括隐藏文件
–l详细列出目录下文件的权限、所有者文件大小等详细信息,可以简写为“ll”
–F列出目录下文件名及其目录类型
-t依照最后修改文件时间列出文件名
–R列出当前目录和其子目录的文件名
–color=never不以颜色方式显示
–color=always均以颜色方式显示
–color=auto系统自动判断
举个例子
用户andy想列出目录/home/andy/work的内容:
$ ls /home/andy/work
images logos photo
在没有参数(即不指定目录)的情况下调用ls命令时,该命令列出shell当前工作目录的内容。如果使用彩色终端,ls还会以不同颜色显示文件名,帮助区分常规文件(白色)和目录(蓝色)。
用户andy想列出用户家目录下所有文件,包括隐藏文件,其中以点开头的文件是隐藏文件。
$ ls -a
. ...bash_logout .bash_profile .bashrcpublic_html web work
用户andy详细列出目录下文件的权限、所有者文件大小等详细信息。
$ ls -l
total 12
drwxrwxr-x. 3 andy andy 4096 May 29 20:27public_html
drwxrwxr-x. 2 andy andy 4096 May 29 20:25web
drwxrwxr-x. 5 andy andy 4096 May 29 20:31work
用户andy在查看机器的网络配置时,他认为目录/etc/sysconfig/networking可能非常重要。用户andy递归类出这目录中的文件和子目录,查看其内容。
$ ls -R /etc/sysconfig/networking/
/etc/sysconfig/networking/:
devices profiles
/etc/sysconfig/networking/devices:
/etc/sysconfig/networking/profiles:
default
/etc/sysconfig/networking/profiles/default:
至于其它常用选项可以参考以上方法在Linux下执行下,观察使用选项前后的变化,就可以明白该选项的含义。
04
切换目录:cd
Linux提供了cd命令,可以从当前目录位置切换到其它目录,cd是change directory的缩写。
命令语法
cd [DIRECTORY]
如果没有指定,DIRECTORY默认为用户主目录。
举个例子
用户andy使用pwd命令显示下当前工作是/home/andy/web,然后使用cd命令切换到/home 后使用pwd确认,之后又切换到/home/andy/work目录,使用ls显示该目录下的内容。
$ pwd
/home/andy/web
$ cd /home/
$ pwd
/home
$ cd /home/andy/work/
$ ls
images logos photo
还有一些特殊的缩写表示特定的目录:
使用 . 表示当前工作目录
使用 .. 表示父目录
使用 ~ 表示用户家目录
使用 - 表示上个工作目录
观察以下例子,理解各个含义:
$ cd .
$ pwd
/home/andy/work
$ cd ..
$ pwd
/home/andy
$ cd ~
$ pwd
/home/andy
$ cd -
/home/andy
05
显示文件和目录树:tree
tree命令以树状图列出文件目录结构。
命令语法
tree [OPTIONS] [DIRECTORY…]
常用参数:
-a : 不隐藏任何以 . 字符开始的条目
-d : 只显示目录不显示文件
-f : 每个文件都显示路径
-t : 根据最后修改时间(mtime)排序
-L n : 只显示 n 层目录 (n为数字)
注意:tree 参数后面如果跟目录名(如/test)就是显示所跟目录名的目录树;如果不跟目录,而是tree后面直接跟随参数,那么就是现实当前所在目录的目录树
举个例子
用户andy想查看当前目录/home/andy的目录树结构
$tree
.
├── public_html
│ └── photo
├── web
└── work
├── images
├── logos
└── photo
7 directories, 0 files
用户andy想查看当前目录/home/andy的目录树结构,包括隐藏文件。
$ tree -a
.
├── .bash_history
├── .bash_logout
├── .bash_profile
├── .bashrc
├── public_html
│ └── photo
├── web
└── work
├── images
├── logos
└── photo
7 directories, 4 files
用户andy想查看当前目录/home/andy的目录树结构,包括隐藏文件,并且只显示目录不显示文件。
$ tree -ad
.
├── public_html
│ └── photo
├── web
└── work
├── images
├── logos
└── photo
7 directories
用户andy想查 / 目录下所有一级子目录的目录树结构。
$ tree -L 1 /
/
├── bin
├── boot
├── dev
├── etc
├── home
├── lib
├── lib64
├── lost+found
├── media
├── mnt
├── opt
├── proc
├── public
├── root
├── sbin
├── scripts
├── selinux
├── srv
├── sys
├── tmp
├── usr
├── var
└── youqu
23 directories, 0 files
06
删除目录:rmdir
删除目录的命令是rmdir(remove directory)命令。
命令语法
rmdir [OPTIONS]
常用选项:
-p, --parents删除指定目录及其上级文件夹,例如"rmdir -p a/b/c'"与"rmdir a/b/c a/b a'" 基本相同。
如果目录是空的,此命令会删除他们,如果目录中有内容,则会产生错误信息且不能删除目录,但是它会继续删除其余的空目录。
举个例子
用户andy希望删除他的子目录~/public_html/photo,他会进行如下操作:
$ ls public_html/
photo
$ rmdir public_html/photo
$ ls public_html/
我们注意到命令如mkdir和rmdir以静默形式完成。
1
END
1
关注我们
云运维联盟
专注Linux云平台运维
领取专属 10元无门槛券
私享最新 技术干货