前言
今天又进一步学习了 Linux 指令,分别是:touch
、cp
、mv
、rm
、vim
、cat
、df
、free
、head
、atil
、less
、wc
、date
、cal
、clear\ctrl+L
、hostname
、 id
、whoami
、ps -ef
、top
、su -sh
、输出重定向(> >>)
、通道( | )
。
本系列博客谨以学习和记录,适用于 Linux 初学者的入门。如有错误,还请各位不吝赐教!
touch
作用:更改文件的时间戳信息,如文件不存在则创建文件。主要用于创建文件。
语法:touch 文件路径1 文件路径2
cp (copy)
作用:复制文件到指定目录
语法:cp [-r] 参数1 参数2
当复制的文件夹不为空时,就需要用到选项[-r]
(递归)。
mv (move)
作用:移动文件或文件夹到指定目录
语法:mv [选项] 文件或文件夹目录 指定目标目录
rm
作用:删除一个或多个文件或目录,及目录下的所有子目录和文件。
语法:rm [-r][-i][-f] 文件目录1 文件目录2
选项:
- [-r]:递归处理,将指定目录下的所有文件与子目录一并处理;
- [-f]:强制删除文件或目录;
- [-i]:删除文件或目录前询问用户;
vim
作用:使用文本编辑器 vim 打开文件。
语法:vim 文件目录
输出重定向(> 或 »)
作用,向指定文件中覆盖或者添加内容,如没有则新建。
例如:ls /etc > ~/ls.txt
:意味把输出信息覆盖在 home 目录下的 ls.txt 文件中,而ls /etc >> ~/ls.txt
则是直接在尾部添加内容。
cat
作用 1:直接在终端窗口打印文件内容,最后终止打印。
语法:cat 文件目录
作用 2:合并文件
语法:cat 待合并文件路径1 待合并文件路径2 > 目标文件路径(如不存在则新建)
cat 实则时链接多个文件,并打印输出。使用输出重定向把结果保存到另一个文件中去,可以覆盖(>)或添加(»)。
df(disk free)
作用:查看磁盘使用情况。
语法:df [选项] [参数(文件系统名称)]
如参数省略则为全部文件系统磁盘使用情况
选项:
- [-h]:human-readable 使用人类可读的格式。
free
作用:查看内存使用情况。
语法:free [选项] [-s <刷新间隔秒数>]
选项:
- [-b]:以 Byte 为单位显示内存使用情况。
- [-k]:以 Kb 为单位显示内存使用情况。
- [-m]:以 MB 为单位显示内存使用情况。
- [-h]:human-readable 使用人类可读的格式。
head
作用:查看文件的指定前 n 行,并打印。
语法:head [-n(表示数字)] (文件路径)
tail
作用:查看文件的末 n 行,和head
用法相同。还可以通过选项[-f]动态查看日志的变化。
语法:tail [-n(表示行数)] [选项] (文件路径)
选项:[-f]:查看一个文件的动态变化,多用于日志的查看。
less
作用:查看文件,以较少的篇页展示文件,与 more 类似。
语法:less [选项] 文件
可以使用空格回车键下翻一页,使用y
上翻一页,q
键退出查看。
wc(word count)
作用:统计一个或多个文件内容信息(包括行数,字数,字节数等)
语法:wc [选项] 文件1 文件2
选项:
- [-l]:统计行数;
- [-w]:统计单词数;
- [-c]:统计 Bytes 字节数。
date
作用:以指定格式打印或设置系统时间。
语法:date [选项]
选项:
- “%F”:表示完整的年月日
- “%T”:表示完整的时间(24 小时制)
- “%Y”:表示四位年份
- “%m”:表示月份;
- “%d”:表示天;
- “%H”:表示小时;
- “%M”:表示分钟;
- “%S”:表示秒数。
例如:#date %+Y
显示年份;date "+%Y-%m-%d"
等同于#date "%+F %T"
,不加+
号则是修改时间。
修改时间:语法:#date -d "-/+ n(年数)year n(月数)month等等" "+%F %T"
获取之前或之后的某个时间。可选有:year month day hour minute second。
cal
作用:用来操作日历。
语法 1:cal
:打印当月日历;
语法 2:cal -3
:输出上月、本月、下月的日历;
语法 3:cal -y 年份
:输出某年的全部日历。
clear(快捷键 ctrl+L)
作用:清除终端的所有内容(并不是直接删除,而是隐藏在界面上面了)。
语法:claer
管道“|”
作用:用于对输入的信息进行过滤。
语法:|grep 关键字
,含有关键字的信息将被保留输出。
例如:ls /etc |grep r
,在 ls 信息流中,含有“r”的信息才能够被打印,其他的被过滤掉。
例如:cat 路径 |less
:对 cat 输出的信息进行 less 格式的过滤,一部分输出,语法和 less 相同。
例如:ls 路径 |wc -l
:输出某个路径下文件的总个数。
hostname
作用:操作主机名(读取或设置)。
语法 1:hostname
:直接打印主机名;
语法 2:hostname -f
:表示输出当前主机名中的 FQDN(全限定域名)
id
作用:查看一个用户的一些基本信息(包含用户 id,用户组 id,附加组 id…),该指令如果不指定用户则默认当前用户。
语法 1:id
:输出当前用户的基本信息;
语法 2:id 用户名
:输出指定用户的基本信息。
whoami
作用:打印当前用户名。
语法:whoami
ps
作用:主要是查看服务器进程。
语法:ps [选项]
语法 2:ps -ef |grep 关键字
:过滤打印,相当于搜索。
选项:
- -e:等价于“-A”,列出全部的进程,如果不加,则仅打印一般进程;
- -f:显示全部的列信息(打印全字段)。
列的含义:
- UID:该进程执行的用户 id;
- PID:进程 id;
- PPID:该进程的父级进程 id,如果一个程序的父级进程找不到,该程序的进程称之为僵尸进程(parent process ID);
- C:Cpu 的占用率,其形式是百分数;
- STIME:进行的启动时间;
- TTY:终端设备,发起该进程的设备识别符号,如果显示“?”则表示该进程并不是由终端设备发起;
- TIME:进程的执行时间;
- CMD:该进程的名称或者对应的路径;
top
作用:查看进程占用的资源。
语法:top [选项]
,q 推出。
选项:-d # :设置页面更新的间隔时间(秒)。
表头含义:
- PID:进程 id;
- USER:该进程对应的用户;
- PR:优先级;
- VIRT:虚拟内存;
- RES:常驻内存;
- SHR:共享内存;
- 计算一个进程实际使用的内存 = 常驻内存(RES)- 共享内存(SHR)
- S:表示进程的状态 status(sleeping,其中 S 表示睡眠,R 表示运行);
- %CPU:表示 CPU 的占用百分比;
- %MEM:表示内存的占用百分比;
- TIME+:执行的时间;
- COMMAND:进程的名称或者路径;
在运行 top 的时候,可以按下方便的快捷键:
- M:表示将结果按照内存(MEM)从高到低进行降序排列;
- P:表示将结果按照 CPU 使用率从高到低进行降序排列;
- 1:当服务器拥有多个 cpu 的时候可以使用“1”快捷键来切换是否展示显示各个 cpu 的详细信息;
du -sh
作用:查看目录的真实大小。
语法:du -sh 目录
选项:
- -s:summaries,只显示汇总的大小;
- -h:表示以高可读性的形式进行显示。
结语
今天学了好多,加油吧!
最后修改于 2020-04-06