1.ls指令
语法:ls [选项] [目录或文件]
功能: 对于⽬录,该命令列出该⽬录下的所有⼦⽬录与⽂件。对于⽂件,将列出⽂件名以及其他信息。
常用选项:
- -a 列出⽬录下的所有⽂件,包括以 . 开头的隐含⽂件。
- -d 将⽬录像⽂件⼀样显⽰,⽽不是显⽰其下的⽂件。 如:ls ‒d 指定⽬录。
- -i 输出⽂件的 i 节点的索引信息。 如 ls ‒ai 指定⽂件。
- -k 以 k 字节的形式表⽰⽂件的⼤⼩。ls ‒alk 指定⽂件。
- -l 列出⽂件的详细信息。
- n ⽤数字的 UID,GID 代替名称。
- -r 对⽬录反向排序。
- -t 以时间排序。
- -s 在l⽂件名后输出该⽂件的⼤⼩。(⼤⼩排序,如何找到⽬录下最⼤的⽂件)
- -R 列出所有⼦⽬录下的⽂件。(递归)
- -1 ⼀⾏只输出⼀个⽂件。
举例:
2. pwd指令
**语法:**pwd
**功能:**显示当前用户所在的目录
举例:
3. cd指令
- Linux系统中,磁盘上的⽂件和⽬录被组成⼀棵⽬录树,每个节点都是⽬录或⽂件。
- 其中普通⽂件⼀定是⽬录树的叶⼦节点。
- ⽬录可能是叶⼦(空⽬录), 也可能是路上节点。
- 理解路径存在的意义: 树状组织⽅式,都是为了保证快速定位查找到指定的⽂件,⽽定位⽂件就需要具有唯⼀性的⽅案来进⾏定位⽂件。其中任何⼀个节点,都只有⼀个⽗节点,所以,从根⽬录开始,定位指定⽂件,路径具有唯⼀性。
- 绝对路径:⼀般从/开始,不依赖其他⽬录的定位⽂件的⽅式。
- 相对路径:相对于当前⽤⼾所处⽬录,定位⽂件的路径方式。
- 绝对路径⼀般不会随着⽤⼾的路径变化⽽丧失唯⼀性,⼀般在特定服务的配置⽂件中经常被使⽤。
- 相对路径因为它的便捷性,⼀般在命令⾏中使⽤较多。
**语法:**cd 目录名功能: 改变⼯作⽬录。将当前⼯作⽬录改变到指定的⽬录下。
举例:
4.touch命令
**语法:**touch [选项]... 文件...
功能: touch命令参数可更改⽂档或⽬录的⽇期时间,包括存取时间和更改时间,或者新建⼀个不存在的⽂件。
选项:
- -a : 只改变 access time。
- -c:只改变modifica time。
举例:
5. mkdir指令
**语法:**mkdir [选项] dirname...
功能: 在当前⽬录下创建⼀个名为 "dirname"的⽬录。
常用选项:
-p/--parents: 可以是⼀个路径名称。此时若路径中的某些⽬录尚不存在,加上此选项后,系统将⾃ 动建⽴好那些尚不存在的⽬录,即⼀次可以建⽴多个⽬录
举例:
6. rmdir命令 && rm命令
rmdir是⼀个与mkdir相对应的命令,mkdir是建⽴⽬录,⽽rmdir是删除命令。
**语法:**rmdir [-p] dirname
**适用对象:**具有当前⽬录操作权限的所有使⽤者。
**功能:**删除空⽬录
常用选项:- p 当⼦⽬录被删除后如果⽗⽬录也变成空⽬录的话,就连带⽗⽬录⼀起删除。
举例:
rm 命令可以同时删除⽂件或⽬录。
语法: rm [-f-i-r-v] [dirName/dir]
**适⽤对象:**所有使⽤者。
**功能:**删除⽂件或⽬录。
常用选项:
- -f 即使⽂件属性为只读(即写保护),亦直接删除。
- -i 删除前逐⼀询问确认。
- -r 删除⽬录及其下所有⽂件。
7.man指令
Linux的命令有很多参数,我们不可能全记住,可以通过查看联机⼿册获取帮助。
**语法:**man [选项] 命令
常用选项:
- -k 根据关键字搜索联机帮助。
- num 只在第num章节查找。
- -a 将所有章节的都显⽰出来,⽐如 man printf 它缺省从第⼀章开始搜索,知道就停⽌,⽤a选项,当按下q退出,他会继续往后⾯搜索,直到所有章节都搜索完毕。
解释⼀下:man⼿册分为9章(不同系统可能会有差别)。
- 1 是普通的命令。
- 2 是系统调⽤,如open,write之类的(通过这个,⾄少可以很⽅便的查到调⽤这个函数,需要加什么头⽂件)。
- 3 是库函数,如printf,fread4是特殊⽂件,也就是/dev下的各种设备⽂件。
- 4 略。
- 5 是指⽂件的格式,⽐如passwd, 就会说明这个⽂件中各个字段的含义。
- 6 是给游戏留的,由各个游戏⾃⼰定义。
- 7 是附件还有⼀些变量,⽐如像environ这种全局变量在这⾥就有说明。
- 8 是系统管理⽤的命令,这些命令只能由root使⽤,如ifconfig。
- 9 略。
下面举例 man printf 和 man 3 printf 指令的区别:
man printf:
man 3 printf:
8.cp指令
**语法:**cp [选项] 源文件或目录 目标文件或目录
**功能:**复制文件或者目录。
说明: cp指令⽤于复制⽂件或⽬录。如同时指定两个以上的⽂件或⽬录,且最后的⽬的地是⼀个已经存在的⽬录,则它会把前⾯指定的所有⽂件或⽬录复制到此⽬录中。
常用选项:
- -f 或 --force 强⾏复制⽂件或⽬录, 不论⽬的⽂件或⽬录是否已经存在。
- -r 递归处理,将指定⽬录下的⽂件与⼦⽬录⼀并处理。若源⽂件或⽬录的形态,不属于⽬录或符号链接,则⼀律视为普通⽂件处理。
- -i 或 --interactive 覆盖⽂件之前先询问用户。
9.mv指令
mv命令是move的缩写,可以⽤来移动⽂件或者将⽂件改名(move (rename) files,经常⽤来备份⽂件或者⽬录。
**语法:**mv [ 选项 ] 源⽂件或⽬录 ⽬标⽂件或⽬录
常用选项:
- -f :force 强制的意思,如果⽬标⽂件已经存在,不会询问⽽直接覆盖。
- -i :若⽬标⽂件 (destination) 已经存在时,就会询问是否覆盖。
功能:
- 视mv命令中第⼆个参数类型的不同(是⽬标⽂件还是⽬标⽬录),mv命令将⽂件重命名或将其移⾄⼀个新的⽬录中。
- 当第⼆个参数是已存在的⽬录名称时,源⽂件或⽬录参数可以有多个,mv命令将各参数指定的源⽂件均移⾄⽬标⽬录中。
- 当第⼆个参数类型是⽂件时,mv命令完成⽂件重命名,此时,源⽂件只能有⼀个(也可以是源⽬录名),它将所给的源⽂件或⽬录重命名为给定的⽬标⽂件名。
举例:
10. cat指令
语法: cat [选项] [⽂件]
**功能:**查看⽬标⽂件的内容。
常⽤选项:
- -b 对⾮空输出⾏编号。
- -s 不输出多⾏空⾏。
- -n 对输出的所有⾏编号。
举例:
11.more命令
语法: more [选项]
**功能:**more命令,功能类似 cat。
常⽤选项:
- -n 指定输出⾏数。
- q 退出more。
举例:
12.less指令
- less ⼯具也是对⽂件或其它输出进⾏分⻚显⽰的⼯具,应该说是linux正统查看⽂件内容的⼯具,功能极其强⼤。
- less 的⽤法⽐起 more 更加的有弹性,在 more 的时候,我们并没有办法向前⾯翻, 只能往后⾯看。
- 但若使⽤了 less 时,就可以使⽤ [pageup] [pagedown] 等按键的功能来往前往后翻看⽂件,更容易⽤来查看⼀个⽂件的内容。
- 除此之外,在 less ⾥头可以拥有更多的搜索功能,不⽌可以向下搜,也可以向上搜。
语法: less [ 参数 ] ⽂件
**功能:**less与more类似,但使⽤less可以随意浏览⽂件,⽽more仅能向前移动,却不能向后移动,⽽且less在查看之前不会加载整个⽂件。
选项:
- -i 忽略搜索时的⼤⼩写。
- -N 显⽰每⾏的⾏号。
- /字符串:向下搜索"字符串"的功能。
- ?字符串:向上搜索"字符串"的功能。
- n:重复前⼀个搜索。(与 / 或 ? 有关)
- N:反向重复前⼀个搜索。(与 / 或 ? 有关)
- q:quit
举例:
13.head指令
head 与 tail 就像它的名字⼀样的浅显易懂,它是⽤来显⽰开头或结尾某个数量的⽂字区块,head ⽤来显⽰档案的开头⾄标准输出中,⽽ tail 想当然尔就是看档案的结尾。
**语法:**head [参数]... [⽂件]...
功能: head ⽤来显⽰档案的开头⾄标准输出中,默认head命令打印其相应⽂件的开头10⾏。
选项: -n<⾏数> 显⽰的⾏数。
14.tail指令
tail 命令从指定点开始将⽂件写到标准输出.使⽤tail命令的-f选项可以⽅便的查阅正在改变的⽇志⽂ 件,tail -f filename会把filename⾥最尾部的内容显⽰在屏幕上,并且不断刷新,使你看到最新的⽂件内容。
**语法:**tail 必要参数 [⽂件]
功能:⽤于显⽰指定⽂件末尾内容,不指定⽂件时,作为输⼊信息进⾏处理。常⽤查看⽇志⽂件。
选项:
- -f 循环读取。
- -n<⾏数> 显⽰⾏数。
举例:
15. date指令
指定格式显示时间: date +%Y:%m:%d
**用法:**date [OPTION]... [+FORMAT]
- 时间戳
- 时间->时间戳:date +%s
- 时间戳->时间:date -d@1508749502
- Unix时间戳(英⽂为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1⽉1⽇(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
- 在显⽰⽅⾯,使⽤者可以设定欲显⽰的格式,格式设定为⼀个加号后接数个标记,其中常⽤的标记列表如下。
- %H : ⼩时(00..23)
- %M : 分钟(00..59)
- %S : 秒(00..61)
- %X : 相当于 %H:%M:%S
- %d : ⽇ (01..31)
- %m : ⽉份 (01..12)
- %Y : 完整年份 (0000..9999)
- %F : 相当于 %Y-%m-%d
举例:
16.cal指令
cal命令可以⽤来显⽰公历(阳历)⽇历。公历是现在国际通⽤的历法,⼜称格列历,通称阳历。"阳历"⼜名"太阳历",系以地球绕⾏太阳⼀周为⼀年,为西⽅各国所通⽤,故⼜名"西历"。
命令格式: cal 参数 [ 年份 ]
功能:⽤于查看⽇历等时间信息,如只有⼀个参数,则表⽰年份(1-9999),如有两个参数,则表⽰⽉份和年份常⽤选项:
- -3 显⽰系统前⼀个⽉,当前⽉,下⼀个⽉的⽉历。
- -j 显⽰在当年中的第⼏天(⼀年⽇期按天算,从1⽉1号算起,默认显⽰当前⽉在⼀年中的天数)。
- -y 显⽰当前年份的⽇历。
举例: