下列指令语法如果用[]括起来就是可有可无的。
1、pwd指令
语法:pwd
功能:显示用户当前所在的目录
常用选项:
无
举例:
2、ls指令
语法:ls [选项] [目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
常用选项:
- -a 列出目录下的所有文件,包括以.开头的隐藏文件。
- -d 将目录像文件一样显示,而不是显示其下的文件。如ls -d 指定录
- -l 列出文件的详细信息
- -n 用数字UID,GID代替名称
- -r 对目录反向排序
- -t 以时间排序
- -R 列出所有子目录下的文件
- -1 一行只输出一个文件
举例:
3、cd指令
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或者文件。
语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下。
举例:
当前所在的目录:
当前目录下有两个默认存在的隐藏文件,.是指当前目录,..是指上一个目录
所以我们cd . ,还是在当前目录
cd .. ,就会到上一个目录
4、stat指令
语法:stat 文件或目录
功能:查看文件更多属性。
举例:
文件的属性里一共有三个时间:
Access Time:指最近一次的程序对文件(目录)的直接存取时间,通俗来讲是文件最近一次被访问的时间,但这里的访问是直接存取,而不是从缓存存取。对于目录来说,只进入目录不会更新其Access Time,但是通过 ls
查看目录内容时,Access Time就会更新。ls
命令默认看到的是 Access Time。
Modify Time:指最近一次文件(目录)的内容被改动的时间。
Chang Time:指最近一次文件(目录)的属性被修改的时间。
5、alias指令
语法:alias 别名=‘指令’
功能:可以给指令起别名
举例:
删除别名:
语法:alias 别名
功能:可以删除别名
举例:
6、touch指令
语法:touch [选项] 文件...
功能:touch命令可以更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
选项:
- -a 只更改存取时间。
- -d 使用指定的日期时间,而非现在的时间。
- -m 只更改变动时间。
- -r 把指定文件或目录的日期时间,统统设成参考文档或目录的日期时间相同。
- -t 使用指定的日期时间 而非现在的时间。
举例:
这是原本的test.txt文件属性
touch test.txt ,日期时间改变为当前时间
使用touch创建文件
7、mkdir指令
语法:mkdir [选项] 目录...
功能: 在当前目录下创建一个目录
常用选项:
- -p 可以是一个路径名称。此时若路径中某些目录尚不存在,系统将自动创建尚不存在的目录,即一次可以创建多个目录。
举例:
创建一个目录
创建一条路径
8、rm指令
语法:rm [选项] 文件或目录
功能:删除文件或目录
常用选项:
- -f 即使文件属性为只读(即写保护),亦直接删除。
- -i 删除前逐一询问确认。
- -r 删除目录及其下所有文件。
举例:
删除文件
删除目录
9、man指令
Linux的命令有很多参数,我们不可能全记住,我们可以通过查找联机手册获取帮助。访问Linux手册页的命令是man。
语法:man [选项] 命令
常用选项:
- -k 根据关键字搜索联机帮助
- num 只在第num章节查找(这里的num是数字)
- -a 将所有章节都显示出来
按q键退出手册
手册分为8章
1 是普通命令
2 是系统调用
3 是库函数
4 是特殊文件
5 是指文件的格式
6 是给游戏留的,由各个游戏自己定义
7 是附件还有一些变量
8 是系统管理用的命令,这些命令只能有root使用
举例:
在第3章找printf函数
10、tree指令
语法:tree [选项] [文件或目录]
功能:以树状图形式展示目录的内容。
常用选项:
- -L level 限制目录显示层级,如tree -L 2
- -d 只显示目录不显示文件
- -a 显示所有目录和文件
- -C 在文件和目录清单加上色彩,便于区分各种类型
举例:
11、cp指令
语法:cp [选项] 源文件或者目录 目标文件或者目录
功能:复制文件或目录
说明:cp指令用于复制文件或目录,如果同时指定两个以上的文件或目录,且最后一个是已存在的目录,则会把前面指定的所有文件或目录复制到此目录中,如果时已存在的文件,则会覆盖改文件。若同时指定多个文件或目录,且最后一个不是已存在的目录,则会出现错误信息。
常用选项:
- -f 强行复制文件或目录,不论目的文件或目录是否存在
- -i 覆盖文件前先询问用户
- -r 将指定目录下的文件与子目录一并处理。
举例:
12、mv指令
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命
令,经常用来备份文件或者目录。
语法:mv [选项] 源文件或目录 目标文件或目录
功能:
1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的
目录中。
2.当第二个参数类型是文件时,mv命令完成文件重命名或覆盖。
3.当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至
目标目录中。
常用选项:
- -f 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至
- -i 若目标文件 (destination) 已经存在时,就会询问是否覆盖
举例:
13、cat指令
语法:cat [选项] [文件]
功能:查看目录文件的内容
常用选项:
- -b 对非空输出行编号
- -n 对输出的所有行编号
- -s 不输出多行空格
cat 空 默认从键盘读取并输出 ctrlc退出
举例:
查看test.txt里的内容
从键盘读取并输出
14、echo指令
语法:echo "字符串"
功能:用于字符串的输出
可以用输出重定向符号'>’ 把字符串写入文件,如echo “hello”>>test.txt,使用这种方法会把文件里原本的数据清空。
用追加重定向符号‘>>’ 可以把字符串追加到文件,如echo “hello”>>test.txt,使用这种方法不会把原文件的数据清空。
举例:
输入hi,在下面输出了hi。
把字符串写入文件
把字符串追加到文件
15、less指令
语法:less [选项] 文件
功能:less是对文件或者其它输出进行分页显示的工具,应该说是Linux正统查看文件内容的工具,功能极其强大。使用less时,可以使用[pageup][pagedown]等按键功能来往前往后翻看文件。
常用选项:
- -i 忽略搜索时的大小写
- -N 显示每行的行号
- /字符串 向下搜索字符串
- /字符串 向上搜索字符串
- n 重复前一个搜索
- N 反向重复前一个搜索
- q 退出
举例:
可以在底下输入各种选项
16、head指令
语法:head [选项] [文件]
功能:head用来显示文件的开头至标准输出中,默认head命令打印其文件的开头10行。
常用选项:
- -n<行数> 显示行数
举例:
打印前7行
17、tail指令
语法:tail [选项] [文件]
功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
常用选项:
- -f 循环读取
- -n<行数> 显示行数
举例:
打印后20行
我们可以通过管道符号来定向打印第几行的文件
- 命令格式: 命令1| 命令2
- 作用:命令1的正确输出作为命令2的操作对象
18、其他关于文件的指令
①wc 文件
统计文件的行数、单词数、字节数
②wc -l 文件
统计文件的行数
③unqi 文件
对相邻的重复信息压缩成一行
④sort 文件
对文件内容进行排序
19、date指令
语法:date
①在显示时间方面,使用者可以随意设定显示时间的格式,格式设定为一个加号后面接数个标记,常用标记如下:
- %H 小时
- %M 分钟
- %S 秒
- %X 相当于 %H:%M:%S
- %d 日
- %m 月份
- %Y 年份
- %F 相当于 %Y-%m-%d
②在设定时间方面
- date -s //设置当前时间,只有root权限才能设置,其他只能查看
- date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
- date -s 01:01:01 //设置具体时间,不会对日期作更改
- date -s "01:01:01 20080523” //这样可以设置全部时间
- date -s "01:01:01 2008-05-23” //这样可以设置全部时间
- date -s "2008-05-23 01:01:01” //这样可以设置全部时间
- date -s "20080523 01:01:01” //这样可以设置全部时间
③时间戳
时间->时间戳 date +%s
时间戳->时间 date -d@时间戳
20、cal指令
cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳
历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。
语法:cal [选项] [月份] [年份]
功能:用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
常用选项:
- -3 显示系统前一个月,当前月,下一个月的月历
- -i 显示在当前年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
- -y 显示当前年份的日历
举例:
21、find指令
- Linux下find在目录结构中搜索文件,并执行指定的操作
- Linux下find命令提供了相当多的查找条件。由于find具有强大的功能,所以它的选项也很多,其中大部分都值得学习
- 即使系统中含有网络文件系统(NFS),find命令在该文件系统中同样有效
- 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个很大的文件系统可能会花费很长的时间
语法:find [目标路径] [选项] [查找条件]
常用选项:
- -name 文件名:按文件名来查找
- -type 文件类型:按文件类型来查找
举例:
将当前目录及其子目录下所有文件后缀为.c的文件列出来
22、grep指令
语法:grep [选项] 搜寻字符串 文件
功能:在文件中搜索字符串,将找到的行打印出来。
常用选项:
- -i 忽略大小写的不同,所以大小写视为相同、
- -n 顺便输出行号
- -v 反向选择,即显示出没有“搜寻字符串”内容的那一行
举例:
23、zip/unzip指令
语法:zip [选项] 压缩文件.zip 目录或文件
功能:将目录或文件压缩成zip格式
常用选项:
- -r 将指定目录下的所有文件和子目录一并处理
举例:
将目录e压缩成ex.zip
语法:unzip [选项] 压缩文件
功能:用于解压缩zip文件。
常用选项:
- -d 目录 :指定文件解压缩后所要存储的目录
- -l 显示压缩文件内所包含的文件
举例:
查看ex.zip里包含的文件
将ex.zip解压缩存在b目录下
24、tar指令
语法:tar [选项] 文件与目录...参数
常见选项:
- -c 建立一个压缩文件
- -x 解开一个压缩文件
- -t 查看压缩文件里的文件
- -z 进行gzip压缩
- -j 进行bzip压缩
- -v 压缩文件过程中显示文件
- -f 指明创建的压缩文件的名字,请留意,在 f 之后要立即接名字!不要再加参数!
- -C 临时切换到指定的目录
压缩一般用 tar -czf
解压一般用 tar -xzf
举例:
压缩
解压
我们在压缩时,如果使用了绝对路径,那么就会把整条路径都压缩,如果想要避免这个问题,可以先用-C选项临时切换到指定的目录再压缩。格式为:
tar -czf -C f ./*
-C f 就是临时切换到f目录
./* 就是把f目录下所有的文件与子目录都压缩
25、bc指令
bc命令可以很方便地进行浮点计算
输入bc指令进入计算状态,输入计算表达式,会反馈表达式的结果,ctrl+c退出
26、uname指令
语法:uname [选项]
功能:uname用来获取电脑和操作系统的相关信息。
常用选项:
- -r 显示内核版本号
- -m 显示处理器类型
- -n 显示主机名
- -s 显示操作系统名称
- -v 显示操作系统的版本
- -a 详细输出所有信息,依次为内核名称、主机名、内核版本号、硬件名、处理器类型、硬件平台类型、操作系统名称
举例:
27、Linux权限的概念
Linux下有两种用户:超级用户(root)、普通用户。
- 超级用户:可以在Linux系统下做任何事情,不受限制。
- 普通用户:在Linux下做有限的事情。
- 超级用户的命令提示符是‘#’,普通用户的命令提示符是‘$’。
命令: su [用户名]
功能:切换用户。
例如,要从root用户切换到普通用户user,则使用su user。要从普通用户user切换到root用户则使用su root(root可省略),此时系统会提示输入root用户的口令。
28、Linux权限管理
①文件访问者的分类
- 文件和文件目录的所有者:u--User
- 文件和文件目录的所有者所在的组的用户:g--Group
- 其他用户:o--other
②文件类型和访问权限
a、文件类型
- a:文件夹
- -:普通文件
- l:软连接(类似windows的快捷方式)
- b:块设备文件(例如硬盘、光驱等)
- p:管道文件
- c:字符设备文件
- s:套接文件
b、基本权限
- 读(r):read对于文件而言,具有读取文件内容的权限;对于目录而言,具有浏览目录信息的权限。
- 写(w):write对于文件而言,具有修改文件内容的权限;对于目录而言,具有删除目录移动内文件的权限,或者在目录内创建文件。
- 执行(x):execute对文件而言,具有执行文件的权限;对于目录而言,具有进入该目录的权限。
③文件权限值的表示方式
a、字符表示方法
Linux表示 | 说明 | Linux表示 | 说明 |
r-- | 仅可读 | -w- | 仅可写 |
--x | 仅可执行 | rw- | 可读可写 |
-wx | 可写可执行 | r-x | 可读可执行 |
rwx | 可读可写可执行 | --- | 无权限 |
b、8进制数值表示方法
权限符号 | 八进制 | 二进制 |
r | 4 | 100 |
w | 2 | 010 |
x | 1 | 001 |
rw | 6 | 110 |
rx | 5 | 101 |
wx | 3 | 011 |
rwx | 7 | 111 |
--- | 0 | 000 |
29、chmod指令
语法:chmod [参数] 权限 文件名
功能:设置文件的访问权限。
常用选项:
- -R 对目前目录下的所有文件与子目录进行相同的权限变更
chmod命令权限格式:
①用户表示符+/-/=权限字符
- + 向权限范围增加权限代号所表示的权限
- - 向权限范围取消权限代号所表示的权限
- = 向权限范围赋予权限代号所表示的权限
- u 拥有者
- g 拥有者同组用户
- o 其他用户
- 所有用户
举例:
②三位8进制数字
可以用3位8进制数字来表示文件对应的权限,格式为chmod 8进制数字
比如666(8进制)对应的二进制是110110110,这里代表的权限就是rw-rw-rw-。
举例:
30、chown指令
语法:chown [参数] 用户名 文件
功能:修改文件的拥有者(一般用户没有权限来改变别人的文件的拥有者,也没有权限可以将自己的文件的拥有者改设为别人,只有系统管理者(root)才有这样的权限,可以用sudo指令提权)
常用选项:
- -R 处理指定目录以及其子目录下的所有文件
举例:
用suodo指令提权(使用sudo指令需要被管理员加入信任名单),之后需要输入自己的密码
31、chgrp
语法:chgrp [参数] 用户组名 文件名
功能:修改文件或目录的所属组
常用选项:
- -R 处理指定目录以及其子目录下的所有文件
32、umask指令
语法:umask [权限值]
功能:查看或修改文件掩码。
说明:a、目录的起始权限是777(8进制),文件的起始权限(mask)是666;b、Linux系统中存在权限掩码,超级用户的默认掩码值是0022(8进制),普通用户的默认掩码值是0002;c、时间创建出来的文件或目录的默认权限是:
起始权限 & (~ 掩码值)
举例:
33、粘滞位
当我们在一个公共目录下和其他用户一起工作时,为了让我们能够工作,该目录一定给我们开放了写权限,但此时就有一个问题,那就是我创建的文件能够被他人删除。为了解决这个问题,就出现了粘滞位。
语法:chmod +t
设置粘滞位的目录下的文件只能由
- 超级管理员删除
- 该目录的所有者删除
- 该文件的所有者删除
举例:
完结。。。。
如有错误,欢迎指正,谢谢
标签:选项,文件,常见,语法,指令,Linux,权限,目录 From: https://blog.51cto.com/u_15855358/7434790