文章目录
- ls指令
- pwd指令
- cd指令
- touch指令
- mkdir指令
- rmdir指令 && rm指令
- cp指令
- man指令
- echo指令
- cat指令
- mv指令
- which指令
- alias指令
- more && less指令
- head && tail指令
- 事件相关的指令
- cal指令
- find指令
- grep指令
- zip && unzip指令
- tar指令
- bc指令
- uname指令
ls指令
语法:ls [选项] [目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
常用选项:
选项 | 全称 | 含义 |
---|---|---|
-a | –all | 显示所有文件,包括隐藏文件(以 . 开头的文件) |
-A | –almost-all | 显示所有文件,除了 . 和 .. |
-i | –inode | 显示文件的i 结点的索引信息 |
-l | –long | 显示详细信息如权限、所有者、大小和修改时间 |
-h | –human-readable | 配合 -l 选项,以人类可读的格式显示文件大小 |
-d | –directory | 只显示目录本身,而不是其内容。常与通配符结合使用 |
-F | –classify | 在每个文件名后附加一个字符以指示文件类型 |
-r | –reverse | 逆序显示文件 |
-t | –time | 根据修改时间排序,最新的文件排在最前面 |
-s | –size | 根据文件大小排序,最大的文件排在最前面 |
-R | –recursive | 递归地列出子目录中地所有文件和目录 |
-1 | 每行显示一个文件 |
以ls -l
或ll
列出文件时,一共有七列。
例如:
[root@VM-12-11-centos ~]# ls -ahl
total 28K
dr-xr-x—. 2 root root 135 Dec 16 02:34 .
dr-xr-xr-x. 17 root root 224 Dec 14 01:38 …
-rw-------. 1 root root 1.3K Dec 14 01:38 anaconda-ks.cfg
-rw-------. 1 root root 1.2K Dec 16 02:34 .bash_history
-rw-r–r–. 1 root root 18 Dec 28 2013 .bash_logout
-rw-r–r–. 1 root root 176 Dec 28 2013 .bash_profile
-rw-r–r–. 1 root root 176 Dec 28 2013 .bashrc
-rw-r–r–. 1 root root 100 Dec 28 2013 .cshrc
-rw-r–r–. 1 root root 129 Dec 28 2013 .tcshrc
从上面可以看到,每一行都有7列,分别是:
- 第一列共10位,第1位表示文档类型,
d
表示目录,-
表示文件,l
表示链接文件,d
表示可随机存取的设备,如U盘等,c
表示一次性读取设备,如鼠标、键盘等。后9位,依次对应三种身份所拥有的权限,身份顺序为:owner、group、others,权限顺序为:readable、writable、executable。如:-r-xr-x---
的含义为当前文档是一个文件,拥有者可读、可执行,同一个群组下的用户,可读、可执行,其他人没有任何权限。 - 第二列表示链接数,表示有多少个文件链接到inode号码。
- 第三列表示拥有者
- 第四列表示所属群组
- 第五列表示文档容量大小,单位字节
- 第六列表示文档最后修改时间,注意不是文档的创建时间哦
- 第七列表示文档名称。以点(.)开头的是隐藏文档
pwd指令
语法:pwd
功能:显示用户当前所在的目录
cd指令
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个结点都是目录或文件。
所以它的叶子节点一点故事空目录或非目录文件,路上结点一定是非空目录节点。
语法:cd 目录名
功能:改变当前工作目录到指定目录下。
Example:
cd .. 返回上级目录
cd /home/litao/linux/ 绝对路径
cd ../day02/ 相对路径
cd ~ 进入用户家目录
cd - 返回最近访问目录
root用户的家目录为:/root
CentOS中普通用户账号统一放在/home
所以普通用户的家目录为:/home/username
touch指令
语法:touch [选项] …文件…
功能:touch
命令参数可更改文档或目录的日期时间,包括存取时间和更改时间。
常用选项:
选项 | 含义 |
---|---|
-a | 只更改存取时间 |
-c | 不建立任何文档 |
-d | 使用指定的日期时间,而非现在的时间 |
-f | 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题 |
-m | 只更改变动时间 |
-r | 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同 |
-t | 使用指定的日期时间,而非现在的时间 |
mkdir指令
语法:mkdir [选项] dirname…
功能:在当前目录下创建一个名为dirname
的目录
常用选项:
-p/–parents:可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录
rmdir指令 && rm指令
rmdir
是一个与mkdir
相对应的命令。mkdir
是建立目录,而rmdir
是删除命令。
语法:rmdir [-p] [dirname]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录
常用选项:
-p:当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。
rm
指令可以同时删除文件或目录
语法:rm [-f-i-r-v] [dirname/dir]
适用对象:所有使用者
功能:删除文件或目录
常用选项:
选项 | 含义 |
---|---|
-f | 即使文件属性为只读(即写保护),亦直接删除 |
-i | 删除前逐一询问确认 |
-r | 删除目录及其下所有文件 |
cp指令
语法:cp [选项] [源目录或源文件] [目标目录或目标文件]
功能:拷贝文件或目录
说明:cp
指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。
常用选项:
选项 | 全称 | 含义 |
---|---|---|
-f | –force | 强行复制文件或目录, 不论目的文件或目录是否已经存在 |
-i | –interactive | 覆盖文件之前先询问用户 |
-r | –recursive | 将指定目录下的文件及子目录一并处理。 |
拷贝目录时,使用-r
选项
man指令
语法:man [选项] [命令]
功能:在Linux手册中查找命令
搜索完后,按q
退出。
echo指令
语法:echo [字符串]
功能:将字符串在显示器显示。
注:字符串可以加""
或''
或什么都不加。
echo
输出默认有换行,printf
默认没有换行。
没有""
的情况下printf
会以空格作为结束标志。
如果加了""
,则printf
的使用方法与C++
中相同,只是需要注意,不要加,
。
输出重定向
在Linux下,一切皆文件。显示器和键盘也是文件,显示器是只能输出,不能输入的文件;键盘是只能输入,不能输出的文件。那么echo
既然可以将字符串在显示器上打印,那么echo
也可以将字符串输出到文件中。
语法:echo [字符串] > [文件]
这种更改输出文件的操作,就叫做输出重定向。
可以看到:1. 数据没有在显示器显示。 2. 数据呗写入到文件中。这就是输出重定向。
如果我们继续向文件中写入内容:
可以看到,原来文件中的内容被覆盖了。
所以输出重定向的操作分为两步:1. 清空文件 2. 写入新内容
所以,如果我们想清空一个文件中的内容,可以使用> [文件]
。
如果我们不想清空文件的原内容,想直接在文件末尾追加新内容,那就要用到追加重定向。
追加重定向
语法: echo [字符串] >> [文件]
功能:在文件末尾追加新内容。
注:如果文件不存在,则会创建新文件。(输出重定向和追加重定向都是如此)
cat指令
语法:cat [选项] [文件]
功能:查看目标文件的内容
常用选项:
选项 | 含义 |
---|---|
-b | 对非空输出行编号 |
-n | 对输出的所有行编号 |
-s | 不输出多行空行 |
上面提到,Linux下,一切皆文件。
所以cat
指令默认从输入设备(文件)读取。
输入cat
指令后按回车即可;退出时需按Ctrl + C
。
cat [文件] 的方式可以将文件中的内容输出。
输入重定向
cat < [文件] 被称为输入重定向,作用也是输出文件中的内容。
那么加不加<
有区别吗?加与不加<
是有区别的,这个以后再介绍。
mv指令
语法:mv [源文件] [目标文件]
功能:移动文件或目录,或重命名。
当目标文件或目标目录不存在时,会将源文件或目录移动,然后重命名为目标文件或目录。
当目标目录存在时,会将源文件或目录放在目标目录下,不发生重命名。
which指令
语法:which [指令]
功能:查看指令对应的路径
指令本质上是可执行程序(也是文件:可执行文件,只是安装在了系统的某种路径下)
执行指令时,现在系统中查找对应的指令。
CentOS下路径为:/usr/bin/
alias指令
语法:alias [字符串] = ‘指令’
功能:为指令添加重命名
删除重命名需要alias [字符串] = ''
more && less指令
语法:more/less [选项] [文件]
功能:显示文件的前n/后n行。
可以使用/...
搜索...
内容,按q
退出。
less
可以用光标上下移动,more
不可以。
head && tail指令
语法:head/tail [-num] [文件]
head
提取文件的前num
行,默认num == 10
,tail
提取文件的后num
行。
Example:提取test.txt
中的第1001-1020行
- head -1020 test.txt > tmp.txt
tail -20 tmp.txt
2. 管道
head -1020 test.txt | tail -20
事件相关的指令
date显示
date
指定格式显示时间:date + %Y:%m:%d
date
用法:date [OPTION] [+FORMAT]
显示方面,使用者可以设定想要显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下:
标记 | 含义 |
---|---|
%H | 小时 |
%M | 分钟 |
%S | 秒 |
%X | 相当于 %H:%M:%S |
%d | 日 |
%m | 月 |
%Y | 年 |
%F | 相当于 %Y-%m-%d |
时间戳
时间戳:从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒
输出时间戳:date +%s
从时间戳转换为时间:date -d@1717574162
cal指令
cal
指令显示日历。
格式:cal [参数] [月份] [年份]
常用格式:
选项 | 含义 |
---|---|
-3 | 显示系统前一个月,当前月和下一个月的日历 |
-j | 显示在当年的第几天 |
-y | 显示当前年份的日历 |
find指令
语法:find [目录] -name [文件]
功能:在特定目录下搜索特定文件(可能访问磁盘)
which
只在指令路径下搜索指令文件
whereis
在系统指定路径下查找,既可以找到可执行程序,有可以找到手册、安装包、压缩包之类
grep指令
语法:grep [选项] [字符串] [文件]
功能:按行在文件中搜索字符串,将包含字符串的行打印出来
如果从目录中查找,加-r
选项
常用选项:
选项 | 含义 |
---|---|
-i | 忽略大小写 |
-n | 顺便输出行号 |
-v | 反向选择,将不包含字符串的行打印出来 |
zip && unzip指令
语法:zip 压缩文件.zip 目录或文件
功能:将目录或文件压缩成zip格式
如果要压缩目录,加-r
tar指令
四个常用:
打包压缩:tar czf XXX
预览:tar tzf XXX.tgz
解压解包:tar xzf XXX.tgz
解压到指定路径:tar xzf XXX.tgz -C(大写) 目录
bc指令
运行计算器,可配合管道
uname指令
获取电脑和操作系统的相关信息。
标签:基本,文件,选项,语法,指令,Linux,root,目录 From: https://blog.csdn.net/z3256707200/article/details/139475626