file
面试官:说说 linux系统�?文件操作常用的命令有哪些�?

一、是什�?Linux 是一个开源的操作系统(OS),是一系列Linux内核基础上开发的操作系统的总称(常见的有Ubuntu、centos�?
系统通常会包含以�?个主要部�?- 内核
- shell
- 文件系统
- 应用程序
文件系统是一�?*目录树的结构**,文件系统结构从一个根目录开始,根目录下可以有任意多个文件和子目录,子目录中又可以有任意多个文件和子目录

二、文件操�?
常见处理目录的命令如下:
- ls(英文全拼:list files�? 列出目录及文件名
- cd(英文全拼:change directory):切换目录
- pwd(英文全拼:print work directory):显示目前的目�?- mkdir(英文全拼:make directory):创建一个新的目�?- rmdir(英文全拼:remove directory):删除一个空的目�?- cp(英文全拼:copy file�? 复制文件或目�?- rm(英文全拼:remove�? 删除文件或目�?- mv(英文全拼:move file�? 移动文件与目录,或修改文件与目录的名�?
ls
列出目录文件,选项与参数:
- -a :全部的文件,连同隐藏文�? 开头为 . 的文�? 一起列出来(常用)
- -d :仅列出目录本身,而不是列出目录内的文件数�?常用)
- -l :长数据串列出,包含文件的属性与权限等等数据�?常用)
例如将家目录下的所有文件列出来(含属性与隐藏�?
1 | [root@www ~]# ls -al ~ |
cd
切换工作目录
语法�?
1 | cd [相对路径或绝对路径] |
1 | # 表示回到自己的家目录,亦即是 /root 这个目录 |
pwd
pwd �?Print Working Directory 的缩写,也就是显示目前所在目录的命令�?
1 | [root@www ~]# pwd [-P] |
选项与参数:
- -P :显示出确实的路径,而非使用连结 (link) 路径
mkdir
创建新目�?
语法�?
1 | mkdir [-mp] 目录名称 |
选项与参数:
- -m :配置文件的权限
- -p :帮助你直接将所需要的目录(包含上一级目�?递归创建起来
rmdir (删除空的目录)
语法�?
1 | rmdir [-p] 目录名称 |
选项与参数:
- -p :连同上一级『空的』目录也一起删�?
cp
即拷贝文件和目录
语法�?
1 | cp 目标文件 拷贝文件 |
用法如下�?
1 | cp file file_copy --> file 是目标文件,file_copy 是拷贝出来的文件 |
常用参数如下�?
-r递归的拷贝,常用来拷贝一整个目录
rm (移除文件或目�?
语法�?
1 | rm [-fir] 文件或目�?``` |
[root@www ~]# mv [-fiu] source destination
[root@www ~]# mv [options] source1 source2 source3 …. directory
1 |
|

删除文件1不会影响删除文件2,对于硬链接来说,删除任意一方的文件,共同指向的文件内容并不会从硬盘上删�?
只有同时删除了两个文件后后,它们共同指向的文件内容才会消失�?
软链�?
类似window系统的快捷方�?
使用方式�?
1 | ln -s file1 file2 |
其实 file2 只是 file1 的一个快捷方式,它指向的�?file1 ,所以显示的�?file1 的内容,但其�?file2 �?inode �?file1 并不相同
如果
删除�?file2 的话�?file1 是不会受影响的,但如果删�?file1 的话�?file2 就会变成死链接,因为指向的文件不见了
三、文件查�?
常见的文件内容查看有如下�?
- cat 由第一行开始显示文件内�?- less 一页一页的显示文件内容
- head 只看头几�?- tail 只看尾巴几行
cat
由第一行开始显示文件内�?
语法�?
1 | cat [-AbEnTv] |
常见的选项与参数如下:
- -b :列出行号,仅针对非空白行做行号显示,空白行不标行号�?- -n :列印出行号,连同空白行也会有行号,�?-b 的选项不同
less
一页一页翻动,以下实例输出/etc/man.config文件的内容:
1 | [root@www ~]# less /etc/man.config |
less运行时可以输入的命令有:
- 空白�? :向下翻动一页;
- [pagedown]:向下翻动一页;
- [pageup] :向上翻动一页;
- /字串 :向下搜寻『字串』的功能�?- ?字串 :向上搜寻『字串』的功能�?- n :重复前一个搜�?(�?/ �?? 有关�?
- N :反向的重复前一个搜�?(�?/ �?? 有关�?
- q :离开 less 这个程序
head
取出文件前面几行
语法�?
1 | head [-n number] 文件 |
选项与参数:
- -n :后面接数字,代表显示几行的意�?
1
[root@www ~]# head /etc/man.config
tail
取出文件后面几行
语法�?
1 | tail [-n number] 文件 |
选项与参数:
- -n :后面接数字,代表显示几行的意�?- -f :表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦�?