ls
语法: ls [参数] [路径]
参数:1
2
3
4
5
6
7-a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-r 将文件以相反次序显示(原定依英文字母次序)
-t 将文件依建立时间之先后次序列出
-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
-F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
-R 若目录下有文件,则以下之文件亦皆依序列出
常用操作
- ls -A s* -> 查找当前目录带有 s 字符的文件
- ls -AF -> 列出目前工作目录下所有文件及目录;目录于名称后加 “/“, 可执行档于名称后加 “*”
pwd
打印当前所在路径 (print working directory)
cd
改变目录 (change directory)
- 绝对路径
- 相对路径
~当前用户的家目录
mkdir
主要注意点:
- -m<目标属性>或–mode<目标属性>建立目录的同时设置目录的权限; -> mkdir -m 700 /usr/meng/test
- -p或–parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录; -> mkdir -p ./test/someFile
- –version 显示版本信息。
touch
- 用于把已存在文件的时间标签更新为系统当前的时间
- 创建空文件
提供的选项:1
2
3
4
5
6
7
8
9-a:或--time=atime或--time=access或--time=use 只更改存取时间;
-c:或--no-create 不建立任何文件;
-d:<时间日期> 使用指定的日期时间,而非现在的时间;
-f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题;
-m:或--time=mtime或--time=modify 只更该变动时间;
-r:<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;
-t:<日期时间> 使用指定的日期时间,而非现在的时间;
--help:在线帮助;
--version:显示版本信息。
cp
语法:cp(选项)(参数)
提供的选项1
2
3
4
5
6
7
8
9
10
11
12-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。
软链接
软链接简单来表示: 就是建立一个快捷方式,你打开的文件就是你软链接的源文件,而且内存占用小,不与软链接的源内存占用保持一致
硬链接
相当于复制了一个文件,inode 相同,但是两者之一的任意发生改变,对方也会跟着改变,二者的内存大小保持一致,删除自己并不会影响对方。会改变的复制,很牛B
常用指令:
- stat someFile 查看 someFile 的 inode 内容
- find / -inum 1114 根目录找 inode 为 1114 的文件
- find ./ -type l -ls 找出当前目录下所有的软链接
mv 指令
语法: mv(选项)(参数)
选项1
2
3
4
5
6
7
8--backup=<备份模式>:若需覆盖文件,则覆盖前先行备份;
-b:当文件存在时,覆盖前,为其创建一个备份;
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
--strip-trailing-slashes:删除源文件中的斜杠“/”;
-S<后缀>:为备份文件指定后缀,而不使用默认的后缀;
--target-directory=<目录>:指定源文件要移动到目标目录;
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
常用:
- mv someName newName -> 将 someName 文件改名为 newName 文件名
- mv /usr/some/* . -> 将/usr/some 里面的所有内容移动到当前目录
rm
语法: rm (选项)(参数)
选项:1
2
3
4
5
6-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
--preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程。
注意点:rm -r * ->非常危险的操作(删除当前目录下除隐含文件外的所有文件和子目录)
输出重定向
一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候需要使用到的输出重定向技术
语法:命令执行 >> 结果文件 ->追加效果
语法:命令执行 > 结果文件 ->覆盖效果
常用操作:
ls -la >> ls.txt -> 会将 ls -la 的执行结果追加打印在 ls.txt 文件中
cat
语法:cat(选项)(参数)
cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容,类似于下的type命令。
注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态。
选项:1
2
3
4
5
6-n或-number:有1开始对所有输出的行数编号;
-b或--number-nonblank:和-n相似,只不过对于空白行不编号;
-s或--squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行;
-A:显示不可打印字符,行尾显示“$”;
-e:等价于"-vE"选项;
-t:等价于"-vT"选项
常用操作:1
2
3cat m1 (在屏幕上显示文件ml的内容)
cat m1 m2 (同时显示文件ml和m2的内容)
cat m1 m2 > file (将文件ml和m2合并后放入文件file中)->注意,file文件会新建并且为无后缀名文件
如果单纯为了看文件内容,建议使用 more someFile
记忆点:
cp 和 rm 指令都有 -r 参数,表示递归操作
mkdir 创建多级文件,需要携带 -p 参数
参考链接:https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/index.html 软硬链接