Linux——常见指令及其权限理解
目录
1.指令
1.1 快速了解指令
1.2 详细学习指令
1.2.1 ls
1.2.2 pwd
1.2.3 cd
1.2.4 touch
1.2.5 mkdir
1.2.6 man
1.2.7 echo
1.2.8 cp
1.2.9 mv
1.2.10 cat
1.2.11 more
1.2.12 less
1.2.13 head&tail
1.2 时间相关指令
1.3 其他指令
1.3.1 cal
1.3.2 find
编辑 1.3.3 grep
1.指令
1.1 快速了解指令
pwd 首次登录,默认所处的路径
whoami 当前所用的用户的名称
ls 显示当前路径下,文件名称
mkdir 在当前目录下,创建一个文件夹/目录
cd 进入一个目录
touch 新建一个文件
rm 删除一个文件(是的话yes/y,不是的话not/n)
1.2 详细学习指令
1.2.1 ls
用来显示当前目录下的所有普通文件和目录(文件又可分为普通文件和目录)
文件 = 文件内容 + 文件属性,其中都是数据,所以都要被保存下来
ls -l 显示当前目录下,详细的文件属性信息
需要注意的是,Linux中,以 . 开头的文件或者目录,是隐藏文件
-a : 显示隐藏文件
1.2.2 pwd
显示用户当前所在路径
1.2.3 cd
一个知识点:
其中红色框中,开头为d的为目录,开头为 - 的表示普通文件
其中, . ->当前路径
.. ->上级路径
cd : 改变目录,将当前的工作目录改变到指定目录下
此时,最开始的 / 表示的是根目录。
Linux 的所有的文件的系统结构是一个多叉树结构。
(图片来自于比特就业课)
在Linux中,找到一个文件的方式是通过路径来找的。
绝对路径:具有唯一性的,定位文件的方式。
相对路径:以本身所处位置为参照点,查找定位目标文件路径的方式。
操作时,一般用相对路径;配置文件,系统配置文件,可以采用绝对路径。
在任何一个目录中,都存在 . 和 ..
特定用户的家目录:如果是root 账号,则在实行pwd指令后,显示为 /root ,而如果不是,则显示 /home/name。
cd ~ :直接进入指定用户的家目录。
cd -:返回最近访问目录
1.2.4 touch
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
在Linux系统中,文件类型与文件后缀无关。建议带上后缀。
file : 直接跟文件名称,可以显示文件类型,例如:
stat : 可以显示一个文件的详细信息。例如:
1.2.5 mkdir
功能:在当前目录下创建一个名为 “dirname”的目录
可以创建一个路径,例如:
tree : tree + 指定目录,以树型结构展示文件和目录结构。
当出现刷屏时,ctrl + c即可停止
rmdir : 删除有dir的文件
1.2.6 man
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是
man 语法: man [选项] 命令
Linux下一切皆文件(显示器、键盘也是文件)
1.2.7 echo
echo : 默认写到显示器上
当带“ > ” 时,就会向指定文件中写入,当文件不存在时,会自动增加该文件。且该文件重复使用时,会将文件先清空后加入写入的值。
当带“ >> ”时,就会在原来文件的内容的基础上,加上新增的内容。
cat : 是输入重定向,直接打印在屏幕上。
这个可以表示,Linux下一切皆文件
1.2.8 cp
语法:cp [ 选项 ]源文件或目录 目标文件或目录
功能:复制文件或目录
从上述我们可以看到,指令就是程序。
cp src dst
cp -rf src_ dir dst_dir
cp src dst_dir/新的名称
which : 快速找到指定的命令文件。
在上述的图片中,我们可以知道,当执行" ls " 和 " /usr/bin/ls --color=auto "时是一样的,这是为什么呢?
其中的 alias 是别名的意思,可以取别名。
(但是不建议取太多的别名,因为会弄混)
1.2.9 mv
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。
语法 : mv [选项] 源文件或目录 目标文件或目录
功能 :
1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
常用的几种形式:
1 mv src dst
2 mv src newname( 不存在的名称 )
1.2.10 cat
语法 : cat [ 选项 ] [ 文件 ]
功能 : 查看目标文件的内容
常用选项:
1 -b 对非空输出行编号
2 -n 对输出的所有行编号
3 -s 不输出多行空行
(补充:tac 将文本内容逆向打印出来)
1.2.11 more
语法:more [选项][文件]
功能:more命令,功能类似 cat
常用选项:
1 -n 对输出的所有行编号
2 q 退出more
通过enter 键可以向下走(但是,该命令并不常用)
1.2.12 less
less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看
但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!
除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
语法: less [参数] 文件
功能:
less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
-n 查看下一个匹配项
1.2.13 head&tail
head 与 tail 就像它的名字一样,是来显示开头或结尾某个数量的文字区块, head用来显示档案的开头,而 tail 是显示档案的结尾。
head -n 显示开头的n行
tail -n 显示结尾的n行
这个指令可以将2000到2020行的代码运行出来。
此时,就是运用管道的方法来进行的,这里先不进行详细的介绍。
1.2 时间相关指令
下面给出一组示例:
这样,我们可以比较直观地了解 date 的用法 。
上述在实际运用中并没有那么重要,最重要的是时间戳——
时间戳:1970-01-01 12:00 到现在累计的秒数。
1.3 其他指令
1.3.1 cal
cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。
命名格式: cal [ 参数 ] [ 月份 ] [ 年份 ]
功能:用于查看日历等时间信息。
常用选项:
例如:
1.3.2 find
语法: find pathname -options
功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
常用选项:
-name 按照文件名查找文件
由这个例子,我们可以比较清晰地知道find的用法。
而我们知道 which 也可以查找文件,例如:
那么,他们两个有什么区别吗?这里做一个比较浅显的分析——
find :在系统目录树直接查找,可以查找任意文件
which :只用来查找系统中自带的可执行文件
除了这连个命令之外 whereis 也可以用来查找:
1.3.3 grep
grep 是行文本过滤工具
语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来
常用选项:
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ‘搜索字符串’ 内容的那一行
(在这个命令中,n 表示显示行号,i 表示忽略大小写,v 表示反向匹配)