Linux 常用命令(一)
ifconfig
ifconfig 通常被用来获取网络接口配置信息并对此进行修改
讲道理,在 CentOS 7.x 中 ifconfig 已经被弃用了,而被改用了 ip addr 来接替 ifconfig 的使用,这里简单解释一下 ifconfig 的使用,就不多举例了,详细的解释足以单独开一篇博文,或许以后真会单独开一篇?但肯定不是 ifconfig。
直接执行 ifconfig
[divent@Fedora ~]$ ifconfig
enp4s0f2: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 74:d0:2b:1b:9d:6e txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 828 bytes 61600 (60.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 828 bytes 61600 (60.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:cd:71:8e txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.101 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::26fd:52ff:fe13:871f prefixlen 64 scopeid 0x20<link>
ether 24:fd:52:13:87:1f txqueuelen 1000 (Ethernet)
RX packets 1832367 bytes 2446827578 (2.2 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1257651 bytes 152019160 (144.9 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
这里的例子是我本机上执行 ifconfig 获得的结果,可以看到我的电脑上有四个网络接口,分别是:enp4s0f2,lo,virbr0,wlp3s0
-
enp4s0f2:不要怀疑,这就是我的有线网卡接口,因为没有插网线而且设置的DHCP所以没有IP地址,enp 是 Ethernet Port 的简写
-
lo:很明显的本地回环接口,需要解释吗?
-
virbr0:嗯,这个是我的虚拟机的虚拟网卡
-
wlp3s0:这是我的无线网卡接口,wlp 是 Wireless Port 的简写
好吧,详细解释一下,不然显得我太水, inet=IP地址、netmask=子网掩码、broadcast=网关、 ether=MAC地址
什么?!你想用这个命令修改IP地址和MTU?!自己去改配置文件,配置文件在“/etc/sysconfig/network-scripts/”走好不送,我还要写作业
echo
echo是一种最常用的与广泛使用的内置于Linux的bash和C shell的命令,通常用在脚本语言和批处理文件中来在标准输出或者文件中显示一行文本或者字符串。
echo命令的语法是:
echo [选项][字符串]
- 输出一行文本在控制台上
echo "this is a test"
控制台就会立即出现你所要输出的文本
- 输出一个已经存在的变量的值
echo $PATH
控制台就会输出这个变量的值(如果这个变量正确存在的话)
echo 的一些选项
-
-n 不输出末尾的换行符
-
-e 启用反斜线转义
-
-E 关闭反斜线专义
文字输出中要用到的特殊字符
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
tty
这个命令用来显示当前使用终端,没什么可说的
[divent@Fedora ~]$ tty
/dev/pts/0
[divent@Fedora ~]$ tty --help
用法:tty [选项]...
显示出连接到当前标准输入的终端设备文件名。
-s, --silent, --quiet 什么也不显示,只返回退出状态值
--help 显示此帮助信息并退出
--version 显示版本信息并退出
startx
启用 X window
或者叫做启用图形化界面
这个也没什么可说的
export
恩,用来修改环境变量的命令,可以用来添加、修改、删除环境变量
[divent@Fedora ~]$ help export
export: export [-fn] [名称[=值] ...] 或 export -p
为 shell 变量设定导出属性。
标记每个 NAME 名称为自动导出到后续命令执行的环境。如果提供了 VALUE
则导出前将 VALUE 作为赋值。
选项:
-f 指 shell 函数
-n 删除每个 NAME 名称的导出属性
-p 显示所有导出的变量和函数的列表
`--' 的参数禁用进一步的选项处理。
我在这里用 export 命令为 PATH 变量添加一个值,另外 export 单独使用的话就是列出所有环境变量
[root@Fedora ~]# export PATH=$PATH:/root/bin
[root@Fedora ~]# export -p | grep "PATH"
declare -x PATH="/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/divent/.local/bin:/home/divent/bin:/root/bin"
如果想要环境变量永久生效可以将这条命令写入系统配置文件中,例如 ~\.bashrc 以及 \etc\profile
pwd
直接使用,打印当前目录。有两个与其相关的环境变量 PWD 与OLDPWED。
直接使用 pwd 命令就是输出 PWD 变量的值,OLDPWD 是上一次使用目录,这里我打开虚拟终端还没有切换目录,所以不存在上一级目录
[divent@Fedora ~]$ pwd
/home/divent
[divent@Fedora ~]$ export | grep PWD
declare -x OLDPWD
declare -x PWD="/home/divent"
history
用来查看历史命令,直接使用则输出历史命令,用法如下
[divent@Fedora ~]$ help history
history: history [-c] [-d 偏移量] [n] 或 history -anrw [文件名] 或 history -ps 参数 [参数...]
显示或操纵历史列表。
带行号显示历史列表,将每个被修改的条目加上前缀 * 。
参数 N 会仅列出最后的 N 个条目。
选项:
-c 删除所有条目从而清空历史列表。
-d 偏移量 从指定位置删除历史列表。
-a 将当前会话的历史行追加到历史文件中
-n 从历史文件中读取所有未被读取的行
-r 读取历史文件并将内容追加到历史列表中中
-w 将当前历史写入到历史文件中并追加到历史列表中
-p 对每一个 ARG 参数展开历史并显示结果而不存储到历史列表中
-s 以单条记录追加 ARG 到历史列表中
咯,帮助文档在这里,自己看
顺便说一下,history 的配置文件在 ~/.bash_history
shutdown / poweroff / reboot
我觉得这三个应该一起说,但是在这里不描述他们之间深层次的关系,只讨论用法
poweroff 这个这是关机的意思
reboot 这个是重新启动
接下来是 shutdown
用法
shutdown [指令] [时间] [警告消息]
-t sec:倒计时关机,单位:秒
-k:只发送警告消息
-r:停止系统服务后重启
-h:停止系统服务后立即关机
-n:不进过init,直接以shutdown功能关机
-f:关机并下次启动后,强制进行fsck的磁盘检查
-c:取消已经在进行的shutdown命令内容
例子:
shutdown -h now #立即关闭需要加入命令‘now’而不是数字‘0’
shutdown -r 20:00 #通常加入的时间参数格式为:‘12:30’
shutdown -h +10 #在不使用‘-t’的情况下倒计时关机需要加上‘+’单位:分
shutdown -k 'test' #警告消息需要加上引号,单双引号都可
hwclock / date
这两个一起讲 hwclock 是物理时钟,也就是 BIOS 的时间
date 是系统时间
date 的用法
date(选项)(参数)
选项
-d <字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号
-s <字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号
-u:显示GMT
--help:帮助
--version:显示版本信息。
参数
<+时间日期格式>:指定显示时使用的日期时间格式。
格式
%H 小时,24小时制(00~23)
%I 小时,12小时制(01~12)
%k 小时,24小时制(0~23)
%l 小时,12小时制(1~12)
%M 分钟(00~59)
%p 显示出AM或PM
%r 显示时间,12小时制(hh:mm:ss %p)
%s 从1970年1月1日00:00:00到目前经历的秒数
%S 显示秒(00~59)
%T 显示时间,24小时制(hh:mm:ss)
%X 显示时间的格式(%H:%M:%S)
%Z 显示时区,日期域(CST)
%a 星期的简称(Sun~Sat)
%A 星期的全称(Sunday~Saturday)
%h,%b 月的简称(Jan~Dec)
%B 月的全称(January~December)
%c 日期和时间(Tue Nov 20 14:12:58 2012)
%d 一个月的第几天(01~31)
%x,%D 日期(mm/dd/yy)
%j 一年的第几天(001~366)
%m 月份(01~12)
%w 一个星期的第几天(0代表星期天)
%W 一年的第几个星期(00~53,星期一为第一天)
%y 年的最后两个数字(1999则是99)