linux系统常用命令详解
Linux命令格式:命令选项参数 (大部分命令是这个格式)
注意:
1.命令区分大小写
2.短选项可以合并 长选项不能合并
如 : 短选项 -l -h 可以合并为 -lh
长选项 不能合并
1. ls :列出文件信息,默认为当前目录下
常用选项:
-a: 列出所有的文件,包括所有以.开头的隐藏文件
-d: 列出目录本身,并不包含目录中的文件
-h: 和-l一起使用,文件大小人类易读
-l: 长输出
2. man :命令帮助使用手册
使用格式: man 命令
在man命令帮助信息的界面中,所包含的常用操作按键及其用途如表2-2所示。
空格键 |
向下翻一页 |
PaGe down |
向下翻一页 |
PaGe up |
向上翻一页 |
home |
直接前往首页 |
end |
直接前往尾页 |
/ |
从上至下搜索某个关键词,如“/linux” |
? |
从下至上搜索某个关键词,如“?linux” |
n |
定位到下一个搜索到的关键词 |
N |
定位到上一个搜索到的关键词 |
q |
退出帮助文档 |
3. pwd :显示当前/活动目录
4. cd: 切换目录
常用选项:
- :切换至上次所处的目录
.. :切换至上级目录
~ :切换至家目录
5. mkdir :创建目录
注意:mkdir 不能直接创建多级目录
常用选项:
-p :递归创建多级目录
6.echo :输入并显示一行文本
常用选项:
-e: 允许对下面列出的加反斜线转义的字符进行解释.
不使用-e和使用-e的区别:
[root@localhost ~]# echo "hello\nhello"
hello\nhello
[root@localhost ~]# echo -e "hello\nhello"
hello
hello
(\n :换行符)
7.touch :创建普通文件
8.cp :复制文件和目录
格式:cp 选项 文件名(目录名) 复制到的目录名(目的地的名称)
常用选项:
-p: 保持属性不变
-r: 递归复制目录
-a: 复制时,尽可能保持文件的结构和属性. 等同于 -dpR
9.mv :移动(改名)文件
常见操作:
1.移动文件到目录: mv 文件名 目录名
2.移动多个文件到目录:mv {文件名 文件名 ...} 目录名
3.改名:mv 文件名 文件名1 (将 文件名 改为 文件名1 )
10.rm :移除文件或者目录
常见选项:
-f: 不作确认提示
-r: 或者 -R 递归地移除目录树
11.rmdir :删除空目录
12. cat :连接文件并在标准输出上输出(用于内容较少的)
常用选项:
-n: 输出行号
13.more :在显示器上阅读文件的过滤器(查看内容较多的)
more命令会在最下面使用百分比的形式来提示您已经阅读了多少内容
14.less
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动(pgup键),而且 less 在查看之前不会加载整个文件
15.head :输出文件的开始部分(默认输出前10行)
常用选项:
-n: 指定行
16.tail :输出文件的末尾部分(默认输出10行)
常用选项:
-f: 当文件增长时,输出后续添加的数据(持续刷新)
-n: 指定打印行数量
17.clear :清屏(快捷键ctrl+l)
快捷键ctrl+l :强制退出.
18.poweroff :关机
19.reboot :重启
20.alias :设置、查看别名
常见操作:
1.查看别名:直接使用alias即可
2.设置别名:使用的格式: alias "别名=原有名称"
( alias "ken=ls -l" :给 ls -l 设置别名为 ken)
3.取消别名:unalias
21.uname :显示输出系统信息
常见选项:
-a:显示所有的信息
-r: 显示操作系统发行版本(内核版本)
22.hostname :显示并设置主机名(重启失效)
常见操作:
显示主机名: hostname
修改主机名: hostname 新的主机名
hostnamectl set-hostname :立即永久失效
23.history :显示历史命令
!:使用!加上上一个命令的缩写可以再次执行
24.which :显示命令的完整路径
25.wc :统计文本信息
常用选项:
-c: 统计字节
-w: 统计单词数量
-l: 统计行数
26.w :显示已经登录的用户以及他们在做什么
例如:
[root@ken ~]# w 13:04:06 up 2 days, 3:30, 7 users, load average: 0.61, 0.16, 0.09 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root tty1 Mon19 3days 1.35s 0.02s -bash root pts/0 172.20.10.4 09:47 1:44m 0.16s 0.00s less -s root pts/1 172.20.10.4 10:34 1:43m 0.02s 0.02s -bash root pts/2 172.20.10.4 12:00 20:38 0.15s 0.15s -bash root pts/3 172.20.10.4 12:00 15:02 0.03s 0.03s -bash root pts/4 172.20.10.4 13:03 6.00s 0.04s 0.01s w root pts/5 172.20.10.4 13:03 11.00s 0.02s 0.02s -bash
USER:显示登陆系统的用户的帐号名。如果用户重复登录,则该帐号名就会重复显示。
TTY:用户登录的终端代号。登录的形式不同,登录代号也不相同。
FROM:显示用户从何处登录系统。如果是本地登录,则此字段为-,若从远程登录,便会显示远程主机的IP地址或主机名。至于“:0.0”之类的标示,代表该用户是从X Window System以文本模式登录的。
LOGIN@:这是Login At的意思,表示该用户登录系统时的时间(不是登录后经过的时间)。
IDLE:表示用户闲置的时间。这是一个计时器,一旦用户执行任何操作,该计时器便会被重置。
JCPU:以终端的代号区分显示,表示该终端所有相关的进程(process)执行时所消耗的cpu时间。每当进程结束就停止计时,开始新的进程则会重新计时。
PCPU:表示cpu执行程序消耗的时间。
WHAT:表示用户正在执行的程序的名称,如果正在执行文本模式命令,则会显示用户环境的名称。
27.who :显示已经登录的用户
28.whoami :显示当前用户
29.whatis :命令的简单介绍
30.ping :向网络主机发送ICMP(检测主机是否在线)
常用选项:
-c: 发送包的数量
-w: 等待时间(当试图检测不可达主机时此选项很有用)
-i<间隔秒数> 指定收发信息的间隔时间。
31.du :文件及目录大小
默认显示一个目录下的所有的文件,最后一行会有大小的总和。
常用选项:
-s: 仅显示总和
-h: 人类易读
32.df :报告文件系统磁盘空间的使用情况
-h:人类易读
33.free :显示系统中已用和未用的内存空间总和
常用选项:
-m: 以m为单位
-h: 人类易读
34.date :打印或设置系统日期和时间
常用选项:
-s: 根据 STRING 设置时间
%Y 年(用 4 位表示) (1970...)
%m 月份(用两位表示) (01..12)
%d (月份中的)几号(用两位表示) (01..31)
%H 小时(按 24 小时制显示,用两位表示) (00..23)
%M 分钟数(用两位表示) (00..59)
%S 秒数(用两位表示)(00..60)
%T 时间,按 24 小时制显示(hh:mm:ss)
%F 显示 %Y-%m-%d
命令进阶:
1.输出重定向:
场景:一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候需要使用到的输出重定向技术。
>:覆盖输出,会覆盖掉原先的文件内容
>>:追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加
2>:错误输出,会覆盖掉原先的文件内容
2>>:错误追加输出,会覆盖掉原始文件内容,会在原始内容末尾继续添加
&>:将标准输出与错误输出共同写入到文件中。覆盖原有内容
&>>:将标准输出与错误输出共同写入到文件中(追加到原有内容的后面)
2.管道符:
管道命令符(|)的作用是把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命令的标准输入
使用格式: 命令1 | 命令2 | 命令3 | ... | 命令n
3.通配符
通配符就是通用的匹配信息的符号,比如
- 星号(*)代表匹配零个或多个字符(可以为0个)
- 问号(?)代表匹配单个字符(单个字符必须存在)
- 中括号内加上数字[0-9]代表匹配0~9之间的单个数字的字符,
- 中括号内加上字母[abc]则是代表匹配a、b、c三个字符中的任意一个字符。
4.三种引号的作用
- 单引号(''):转义其中所有的变量为单纯的字符串。
- 双引号(""):保留其中的变量属性,不进行转义处理。
- 反引号(``):把其中的命令执行后返回结果。
案例1:单引号,不解释变量即所见即所得
[root@ken ~]# age=10
[root@ken ~]# echo 'my age is $age'
my age is $age
案例2:双引号,解释变量
[root@ken ~]# age=10
[root@ken ~]# echo "my age is $age"
my age is 10
案例3:反引号,用来执行命令
[root@ken ~]# name=`ls /root` \\将命令结果赋予变量
[root@ken ~]# echo $name \\ 输出变量
10.txt 11.txt 12.txt 13.txt 14.txt 1.txt 2.txt 3.txt 4.txt 5 =5 5.txt 6.txt 7.txt 8.txt 9.txt anaconda-ks.cfg elasticsearch-6.4.0.tar.gz elasticsearch-6.4.0.tar.gz.1 ken kenken nohup.out redis-manager-1.1 redis-manager-1.1-release.tar.gz test test1.sh test.sh
5.软连接 硬链接
创建成功后是 链接文件 ——> 源文件
软连接:ln - s 源文件 目标文件(链接文件)
(源文件是已经存在的 目标文件是不存在的,创建连接成功之后会自动创建)
特点:
1、就是相当于win中的快捷方式(效果类似 但是这种描述不准确)
2、删除链接文件,源文件无影响
3、删除源文件,链接文件失效,若再重新建一个与源文件同名的文件,软链接就直接链接到新的文件。(因为软链接是按着名称进行链接)
4、修改源文件\链接文件,内容都发生改变,同步更新
硬链接:ln 源文件 目标文件(链接文件)
(源文件是已经存在的 目标文件是不存在的,创建连接成功之后会自动创建)
特点:
1、删除链接文件,源文件无影响
2、删除源文件,链接文件无影响
3、修改源文件\链接文件,内容都发生改变,同步更新