1. 常用的目录操作命令:
ls ## List 列出
pwd ## Print Working Directory 打印工作目录
cd ## Change Directory 切换目录
mkdir ## Make Directory建立一个新的目录
touch ## 创建文件
mv ## MoVe 移动和重命名
rm ## ReMove 删除
cp ## copy and paste 拷贝粘贴
tar ## Tape archive 压缩或者解压文件
ln ## LiNk 链接文件
ls
常见参数:
-a ## 列出全部的文件,连同隐藏文件也一起列出来
-h ## 将目录容量转换为以易读的方式(例如 GB, KB 等等)
-l ## 列出目录的详细信息
-S ## 以文件大小排序
-t ## 以时间排序
-R ## 递归目录列出文件
-d ## 显示目录本身,而非目录下文件
常见用法:
## 列出当前目录的文件
ls
## 同上,‘.’号代表当前目录
ls ./
## 列出当前目录下以 txt 结尾的文件
ls ./*txt
## 列出上层目录的文件
ls ../
## 列出当前目录下文件的详细信息,通常缩写为 ll
ls -l
## 加上 -h 参数
ls -l /
## 列出根目录下文件的详细信息
ls -lh /
$ ll -h
total 28K
drwxr-xr-x 3 vip28 Feb 4.0K Mar 17 22:22 ./
drwxr-xr-x 33 root root 4.0K Mar 17 22:28 ../
-rw------- 1 vip28 vip28 123 Mar 17 22:28 .bash_history
-rw-r--r-- 1 vip28 root 3.7K Feb 24 14:43 .bashrc
-rw-r--r-- 1 vip28 root 655 Feb 24 14:43 .profile
-rw-r--r-- 1 vip28 root 207 Feb 24 14:43 readme.txt
drwxrwxr-x 2 vip28 vip28 4.0K Mar 17 22:22 test/
$ ll -h /
total 124K
drwxr-xr-x 26 root root 4.0K Mar 17 22:29 ./
drwxr-xr-x 26 root root 4.0K Mar 17 22:29 ../
drwxr-xr-x 2 root root 4.0K Jul 24 2018 bin/
drwxr-xr-x 3 root root 4.0K Sep 7 2018 boot/
drwxr-xr-x 2 root root 4.0K Oct 28 2016 data/
drwxr-xr-x 18 root root 3.9K Feb 19 2019 dev/
drwxr-xr-x 98 root root 4.0K Mar 12 17:07 etc/
drwxr-xr-x 7 root root 4.0K Feb 13 11:55 home/
lrwxrwxrwx 1 root root 33 Jul 24 2018 initrd.img -> boot/initrd.img-4.4.0-130-generic
cd
切换目录,change director
常见用法:
cd .. ## 切换到上层目录,相对路径
cd ../.. ## 切换到上上层目录
cd / ## 切换到根目录
cd /teach/ ## 切换到根目录下的teach,绝对路径
cd - ## 返回上一次的工作目录
cd ~ ## 回到用户家目录
cd ## 同上,回到用户家目录
mkdir
常见用法:
mkdir biotrainee ## 创建一个文件夹,命名为test
ls ## 列出目录
## test readme.txt biotrainee
mkdir -p test1/test2/test3 ## 创建多层次文件夹时,需要加上-p参数,指递归的创建文件夹
tree ## 可以查看层级目录
## .
## ├── readme.txt
## ├── test
## └── test1
## └── test2
## └── test3
##
## 4 directories, 1 file
touch
常见用法:
touch file1 file2 ... ## 创建file1和file2文件
mv
常见用法:
mv 待移动的文件或目录 移动后的文件名或目录
mv file1 file ## 把 file1 移动为 file,相当于重命名
mv file ./test/ ## 把 file 移动到当前目录下的 test/ 目录
rm
常见参数:
-f ## 忽略不存在的文件,不显示警告讯息
-i ## 在删除会先询问用户
-r ## 递归删除文件夹
常见用法:
rm -i ./test/file ## 如果加上 -i 的参数,删除文件前,系统会提示用户是否确认删除
rm -r ./test/ ## 如果是删除文件夹,要加-r参数,递归地删除
cp
cp readme.txt readme ## 复制readme.txt 粘贴为 readme
cp -r ./test/ ./tmp/ ## 如果是拷贝文件夹,要加-r,递归
tar
压缩或者解压
常见参数:
-c ## 创建一个新的tar归档文件(创建压缩文件)
-x ## 从已有tar归档文件中提取文件(解压缩)
-f ## 输出结果到文件或设备
-v ## 在处理文件时显示文件(显示处理进度)
-j ## 将输出重定向给bzip2命令
-z ## 将输出重定向给gzip命令
ln
ln 是 link 的缩写,意为链接,分为两种:软链接和硬链接
软链接
功能:类似于windows的快捷方式。
软链接(也称作符号链接—symbolic link, symlink or soft link), 是一类特殊的文件, 其包含有一条以绝对路径或者相对路径的形式指向其它文件或者目录的引用。它是一个独立文件,其存在并不依赖于目标文件。如果删除一个符号链接,它指向的目标文件不受影响。如果目标文件被移动、重命名或者删除,任何指向它的符号链接仍然存在,但是它们将会指向一个不复存在的文件。这种情况被有时被称为被遗弃。
在Linux中,创建软链接的方法:
ln -s 待建立链接文件的文件 新创建的链接文件
未指明新的链接文件名,新创建的链接文件名默认为待建立链接文件的文件名。
# 将根目录下的 teach 目录软链接到当前目录
$ ln -s /teach ./
# 通过ls -l命令查看效果
$ ls -l
total 0
lrwxrwxrwx 1 vip1 vip1 7 Sep 8 13:55 teach -> /teach/
硬链接
硬链接, 指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬链接。硬链接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬链接到重要文件,以防止“误删”的功能。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬链接文件均被删除。
硬链接的几个限制:
1、硬链接创建时要求源文件必须存在 2、不允许给目录创建硬链接(注意是不能通过ln的方式) 3、只有在同一文件系统才能创建硬链接
在Linux中,创建硬链接的方法是: ln 待建立链接文件的文件 新创建的链接文件
未指明新的链接文件名,新创建的链接文件名默认为待建立链接文件的文件名。平时用的比较少,这里就不举例子了。