Linux基础指令(汇总)
文章目录
- 1. ls指令
- 2. pwd指令
- 3. cd指令
- 4. touch指令
- 5. mkdir指令
- 6. rmdir指令&&rm指令
- 7. man指令
- 8. cp指令
- 8. mv指令
- 9. cat指令
- 10. more指令
- 11. less指令
- 12. head指令
- 13. tail指令
- 14. date指令
- 15. cal指令
- 16. find指令
- 17. which指令
- 18. whereis指令
- 19. alias指令
- 20. grep指令
- 21. zip/unzip指令
- 22. tar指令
- 拓展部分
1. ls指令
语法: ls 选项 目录或者文件
功能:对于目录,该命令列出该目录下的所有子目录与文件, 对于文件, 将列出文件名以及其他信息。
默认列出当前目录。
常用选项:
-a 列出目录下的所有文件, 包括以.开头的文件
-d 将目录像文件一样显示, 而不是显示其下的文件
-i 输出文件的i节点的索引信息。如ls -ai 指定文件
-k 以k个字节的形式表示文件的大小。 ls -alk 指定文件
-l 列出文件的详细信息。 ll
-n 用数字的UID, GID代替名称
-F 在每个文件名后附上一个字符以说明文件的类型, ”*“表示可执行的普通文件; ”/“表示目录; ”@“表示符号链接; ”|“表示FIFOs; "="表示套接字(sockets)。(目录类型识别)
-r 对目录反向排序
-t 以时间排序
-s 在l文件后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
-R 列出所有子目录下的文件(递归)
-l 一行只输出一个文件
2. pwd指令
语法: pwd
功能:显示用户当前所在的目录
常用选项:
无
3. cd指令
Linux理论知识:路径的认识
• Linux系统中,磁盘上的文件和目录被组成⼀棵目录树,每个节点都是目录或文件
• 其中普通文件⼀定是目录树的叶子节点
• 目录可能是叶子(空目录),也可能是路上节点
• 理解路径存在的意义:树状组织方式,都是为了保证快速定位查找到指定的文件,而定位文件就需要具有唯⼀性的方案来进行定位文件。其中任何⼀个节点,都只有⼀个父节点,所以,从根目录开始,定位指定文件,路径具有唯一性
• 绝对路径:⼀般从/开始,不依赖其他目录的定位文件的方式
• 相对路径:相对于当前用户所处目录,定位文件的路径方式
• 绝对路径⼀般不会随着用户的路径变化而丧失唯⼀性,⼀般在特定服务的配置文件中经常被使用
• 相对路径因为它的便捷性,⼀般在命令行中使用较多
语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下
4. touch指令
语法: touch 选项 文件
功能:touch命令参数可更改文档或者目录的日期时间, 包括存取时间和更改时间,或者新建一个不存在的文件
常用选项:
-a : change only the access time
-c : change only the modification time
- Access(访问):
就是你有没有权限查看或使用这个文件,比如你能不能打开它。就像你不能进入一个房间,如果没有钥匙。如果你可以打开文件(读取),那就是你有访问权限。 - Modify(修改):
指的是你可以改变文件里面的内容,比如写字、删除或者添加内容。想象一下,你可以进入房间并在里面搬家具或者更换装饰品,那就是修改。 - Change(变更):
主要是指改变文件的属性,比如权限、所有者等。比如说,你把房间的钥匙换给了别人,这样其他人也能进来。这个做法不改变房间内部的东西,而是改变了谁能进来或者使用这个房间。
简单总结一下:
访问:能不能打开和查看。
修改:能不能改内容。
变更:改变谁能使用或文件的属性。
5. mkdir指令
语法:mkdir 选项 dirname
功能:在当前目录下创建一个名为”dirname“的目录。
常用选项:
-p/–parents:可以是一个路径名称。此时若路径中的某些目录尚不存在, 加上此选项后, 系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
# tree命令是⼀个递归以树状结构显⽰指定⽬录的命令,如果没有安装
# 如果当前⽤⼾是root: yum install -y tree (因为现在开始⽤的都是root,所以推荐这个⽤法)
# 如果当前⽤⼾是普通⽤⼾: sudo yum install -y tree (后⾯讲讲完vim,⼤家才能将⾃⼰添加
#到系统信任列表中,暂时普通⽤⼾⽆法使⽤sudo)
6. rmdir指令&&rm指令
rmdir和mkdir相对应,mkdir是建立目录, 而rmdir是删除命令
语法:rmdir -p dirName
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录
常用选项:
-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。
当指定路径中有不为空的路径, 便无法删除
rm命令可以同时删除文件或者目录
语法:rm 选项 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略
printf也是一个指令, 3查看C库函数
8. cp指令
语法:cp 选项 选文件或者目录 目标文件或者目录
功能:复制文件或者目录
说明:
cp指令用于复制文件或者目录
如同时指定两个以上的文件或者目录, 且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中
常用选项:
-f 或 --force强制复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或者目录的形态不属于目录或符号链接,则一律视为普通文件处理
cp普通文件
将多个文件拷贝到指定路径下
cp如果目标文件存在,就覆盖
递归强制拷贝整个目录
8. mv指令
mv命令是move的缩写,可以用来移动文件或者将文件改名,经常用来备份文件或者目录
语法:mv 选项 源文件或者目录 目标文件或者目录
功能:
- 视mv命令中的第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
- 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或者目录重命名为给定的目录文件名。
- 当第二个参数是已存在的目录名称时,源文件或者目录参数可以有多个,mv命令将个参数指定的源文件均移至目标文件中。
常用选项:
-f : force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i : 若目标文件已经存在,就会询问是否覆盖!
更改名称
如果当前路径存在同名文件,改名即覆盖
mv整个目录
将temp移动到上级目录
9. cat指令
语法:cat 选项 文件
功能:查看目标文件的内容
常用选项:
-b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行
10. more指令
命令行输出多行文本
语法:more 选项
功能:more命令,类似于cat
常用选项:
-n 指定输出行数
q 退出more
指定行输出
11. less指令
- less工具也是对文件或其它输出进行分页显示的工具, 应该说是linux正统查看文件内容的工具,功能及其强大
- less用法比起more更加具有弹性,在more的时候,我们没有办法向前面翻,只能往后面看
- 但若使用了less时,就可以使用[pageip][pagedown]等按键的功能来往前后翻看文件,更容易用来查看一个文件的内容
- 除此之外,在less里头可以拥有更多的搜索功能,不止可以向下搜索,也可以向上搜索。
语法: less 参数 文件
功能:less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less再查看之前不会加载整个文件
选项:
-i 忽略搜索时的大小写
-N 显示每行的行号
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与/或?有关)
N:反向重复前一个搜搜(与/或?有关)
q:quit退出
12. head指令
head与tail就像它的名字一样浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head用来显示档案的开头至标准输出中,而tail就是看档案的结尾。
语法:head 参数 文件
功能:用来显示档案的开头至标准输出中, 默认head命令打印其相应文件的开头10行。
选项:-n 显示行数
13. tail指令
tail命令从指定点开始将文件写到标准输出,使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename⾥最尾部的内容显⽰在屏幕上,并且不断刷新,使你看到最新的⽂件内容.
功能:⽤于显⽰指定⽂件末尾内容,不指定⽂件时,作为输⼊信息进⾏处理。常⽤查看⽇志⽂件。
选项: -f 循环读取
-n<⾏数> 显⽰⾏数
14. date指令
指定格式显示时间:date + %Y:%m:%d
用法:date option format
-
在显⽰⽅⾯,使⽤者可以设定欲显⽰的格式,格式设定为⼀个加号后接数个标记,其中常⽤的标记列表如下:
%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 -
在设定时间⽅⾯• date -s//设置当前时间,只有root权限才能设置,其他只能查看。
• date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
• date -s 01:01:01 //设置具体时间,不会对⽇期做更改
• date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
• date -s “01:01:01 20080523" //这样可以设置全部时间
• date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
• date -s “20080523 01:01:01″ //这样可以设置全部时间 -
时间戳
• 时间->时间戳:date +%s
• 时间戳->时间:date -d@1508749502
• Unix时间戳(英⽂Unixepoch,Unixtime,POSIX time或Unix timestamp)是从1970年1⽉1⽇(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒
15. cal指令
cal命令可以⽤来显⽰公历(阳历)⽇历。公历是现在国际通⽤的历法,⼜称格列历,通称阳历。“阳历”⼜名“太阳历”,系以地球绕⾏太阳⼀周为⼀年,为西⽅各国所通⽤,故⼜名“西历”。
命令格式:cal 参数 年份
功能: ⽤于查看⽇历等时间信息,如只有⼀个参数,则表⽰年份(1-9999),如有两个参数,则表⽰⽉份和年份
常用选项:
-3 显⽰系统前⼀个⽉,当前⽉,下⼀个⽉的⽉历
-j 显⽰在当年中的第⼏天(⼀年⽇期按天算,从1⽉1号算起,默认显⽰当前⽉在⼀年中的天数)
-y 显示当前年份的日历
16. find指令
- Linux下find指令在目录结构中搜索文件,并执行指定的操作。
- Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。
- 即使系统中有网络文件系统(NFS),find命令在该文件系统中同样有效,只要你具有相应权限。
- 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间。
语法:find pathname -options
功能:⽤于在⽂件树中查找⽂件,并作出相应的处理(可能访问磁盘)
常⽤选项
-name 按照文件名查找文件
其他选项需要在查,这个命令其实比较复杂
17. which指令
功能:搜索系统指定的命令
alias其实是给命令起别名
18. whereis指令
功能:用于找到程序的源,二进制文件或手册
19. alias指令
功能:设置命令的别名
20. grep指令
语法: grep 选项 搜索字符串 文件
功能:在⽂件中搜索字符串,将找到的⾏打印出来
常⽤选项:
-i 忽略大小写的不同,所以大小写视为相同
-n 顺便输出行号
-v 反向选择,亦即显⽰出没有 ‘搜寻字符串’ 内容的那⼀⾏
21. zip/unzip指令
语法: zip压缩文件.zip目录或文件
功能:将目录或者文件压缩成zip格式
常用选项
-r 递归处理,将指定目录下的文件和子目录一并处理
关于 rzsz
这个⼯具⽤于windows机器和远端的Linux机器通过XShell传输⽂件.安装完毕之后可以通过拖拽的⽅式将⽂件上传过去.
22. tar指令
打包/解包,不打开它,直接看内容
语法: tar 选项 文件或目录
参数:
- -c:建⽴⼀个压缩⽂件的参数指令(create的意思);
- -x:解开⼀个压缩⽂件的参数指令!
- -t:查看tarfile⾥⾯的⽂件!
- -z:是否同时具有gzip的属性?亦即是否需要⽤gzip压缩?
- -j:是否同时具有bzip2的属性?亦即是否需要⽤bzip2压缩?
- v:压缩的过程中显⽰⽂件!这个常⽤,但不建议⽤在背景执⾏过程!
- -f:使⽤档名,请留意,f之后要⽴即接档名喔!不要再加参数!
- -C:解压到指定⽬录
特别注意,在参数f之后的⽂件档名是⾃⼰取的,我们习惯上都⽤.tar来作为辨识。
如果加z参数,则以.tar.gz或.tgz来代表gzip压缩过的tarfile〜