1.pwd
pwd
命令用于显示列出当前所在的目录。
pwd
2.cd
cd
命令用来改变用户所在的目录。
# 进入用户的主目录
cd
# 进入前一个工作目录
cd -
# 进入指定用户的主目录
cd ~user_name
3.ls
ls
目录可以显示指定目录的内容。不加参数时,显示当前目录的内容。
ls
上面命令显示当前目录的内容。
ls
命令也可以显示指定文件是否存在。
ls foo.txt
-l
参数可以显示文件的详细信息。
ls -l foo.txt
-rw-rw-r-- 1 me me 0 2016-03-06 14:52 foo.txt
上面命令输出结果的第一栏,是文件的类型和权限。
文件类型分为以下几种。
-
普通文件d
目录l
符号链接。注意,对于符号链接文件,剩余的文件属性总是"rwxrwxrwx"。c
字符设备文件,指按照字节流处理数据的设备,比如调制解调器。b
块设备文件,指按照数据块处理数据的设备,比如硬盘。
其他参数的用法。
# 显示多个目录的内容
ls ~ /usr
# -a --all 显示隐藏文件
ls -a
# -A 与-a类似,但是不显示当前目录和上一级目录两个点文件
ls -A
# -l 显示详细信息
ls -l
# -1 单列显示,每行只显示一个文件
ls -1
# -d 显示当前目录本身,而不是它的内容
# 通常与-l配合使用,列出一个目录本身的详细信息
ls -dl
# -F 目录名之后添加斜杠,可执行文件后面添加星号
ls -F
-h 与-l配合使用,将文件大小显示为人类可读的格式
# -t 按文件修改时间排序,修改晚的排在前面
ls -t
-s 按文件大小排序,
# --reverse 显示结果倒序排列
ls -lt --reverse
如果只显示一个目录里面的子目录,不显示文件,可以使用下面这些命令。
# 只显示常规目录
ls -d */
ls -F | grep /
ls -l | grep ^d
tree -dL 1
# 只显示隐藏目录
ls -d .*/
# 隐藏目录和非隐藏目录都显示
find -maxdepth 1 -type d
另一个简便方法是利用自动补全功能,先键入cd
命令,然后连按两下tab
键。
4.stat
stat
命令是加强版的ls
命令,可以显示一个文件的详细信息。
stat script.sh
效果:
5.touch
touch
用来设置或更新文件的访问,更改,和修改时间。然而,如果一个文件名参数是一个 不存在的文件,则会创建一个空文件。
touch timestamp
上面命令创建了一个名为timestamp
空文件。如果该文件已经存在,就会把它的修改时间设置为当前时间。
mkdir -p playground/dir-{00{1..9},0{10..99},100}
touch playground/dir-{00{1..9},0{10..99},100}/file-{A..Z}
上面的命令创建了一个包含一百个子目录,每个子目录中包含了26个空文件。
6.file
file
命令显示指定文件的类型。
file script.sh
效果如下:
7.chmod
chmod
命令用于更改文件的权限,是“change mode”的缩写。
chmod 600 foo.txt
上面命令将foo.txt
的权限改成了600。
chmod
还可以接受四个缩写,为不同的对象单独设置权限。
u
所有者“user”的简写g
用户组“group”的缩写o
其他所有人“others”的简写a
所有人“all”的简写
# 为所有者添加可执行权限
chmod u+x foo.txt
# 删除所有者的可执行权限
chmod u-x foo.txt
# 为所有人添加可执行权限,等价于 a+x
chmod +x foo.txt
# 删除其他人的读权限和写权限。
chmod o-rw foo.txt
# 设定用户组和其他人的权限是读权限和写权限
chmod go=rw foo.txt
# 为所有者添加执行权限,设定用户组和其他人为读权限和写权限,多种设定用逗号分隔