linux常用命令使用格式
格式
command [-options] [parameter]
说明:
command 命令名,相应功能的英文单词或单词的缩写
[-options] 选项,可用来对命令进行控制,也可以省略
parameter 传给命令的参数,可以是零个、一个或者多个
[]
代表可选
范例1: echo
输出信息
控制字符 | 作用 | 举例 |
\\ | 输出\本身 |
[root@centos7 ~]# echo -e "\\" #输出\ |
\a | 输出警告音 | [root@localhost ~]# echo -e "\\ \a" \ #输出 \,同时会在系统音响中输出一声警告音 |
\b | 退格键,也就是向左删除键 |
[root@centos7 ~]# echo -e "a\bc" #因为\b 有特殊含义,向左删一个,所以输出只有 c |
\c | 取消输出行末的换行符。和“-n”选项一致 | |
\e | Esc键 | |
\f | 换页符 |
[root@centos7 ~]# echo -e "a\fb\fc" |
\n | 换行符 |
[root@centos7 ~]# echo -e "a\nb\nc" #输出 a b c 三行,\n 换行 |
\r | 回车键 | |
\t | 制表符,也就是Tab键 |
[root@centos7 ~]# echo -e "a\tb\tc\nd\te\tf" #因为加入了制表符"\t"和换行符"\n",所以会按照格式输出 |
\v | 垂直制表符 | |
\Onnn | 按照八进制 ASCII 码表输出字符。其中 0 为数字 0,nnn 是三位八进制数 | |
\xhh | 按照十六进制 ASCH 码表输出字符。其中 hh 是两位十六进制数 |
显示变量
[root@centos7 ~]# echo '$HOSTNAME' #弱引用 把$HOSTNAME 当作一个字符串处理
$HOSTNAME
[root@centos7 ~]# echo "$HOSTNAME" #强引用 把 $HOSTNAME 当作一个变量处理
centos7.magedu.com
范例2:
screen 这是一个用于命令行终端切换的自由软件
语法
screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s <shell>][-S <作业名称>]
参数选项
- -A 将所有的视窗都调整为目前终端机的大小。
- -d<作业名称> 将指定的screen作业离线。
- -h<行数> 指定视窗的缓冲区行数。
- -m 即使目前已在作业中的screen作业,仍强制建立新的screen作业。
- -r<作业名称> 恢复离线的screen作业。
- -R 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
- -s<shell> 指定建立新视窗时,所要执行的shell。
- -S<作业名称> 指定screen作业的名称。
- -v 显示版本信息。
- -x 恢复之前离线的screen作业。
- -ls或--list 显示目前所有的screen作业。
- -wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业。
注意:前置:在终端输入screen -v 看一下自己的系统是否内置了screen 版本示什么,如果没有,那么需要安装 yum -y install screen 必须要有epel 源才行;
基本用法 :[root@centos7 ~]# screen # 直接输入screen 按enter 键就可以启用,但我们一般会在创建时加个名字来区分
[root@centos7 ~]# screen -S test #建立一个新视窗 取名叫test
点击enter 键后
这就创建了第一个窗口,编号是No.0,并在其中打开一个默认的sehll 一般是bash,但是这会立刻返回到命令提示符,仿佛什么也没发生,其实screen 已经开始发生作用。
screen 中所有的命令最好都以ctrl + a 开始 类似vi命令中的 :(冒号),目的是为了告诉软件我要进行命令操作了,而不是简单的输入字符,严格区分大小写
下面介绍几个功能
1、会话的分离和恢复 :只要screen 本身没有终止,在内部运行的会话都可以恢复
crtl a 在按 d ,screen 就会暂时中断会话
需要在次使用时,用screen -ls 来重新找到被挂起的会话
用screen -r 和id 编号就可以重连会话
2、会话共享:两个人在不同的地方,用相同的账户登录同一台机器,其中一个人创建了一个screen 会话,另外一个人使用screen -x id 编号,这样两个人就能实现共享同一会话
3、屏幕分割
ctrl a + 大写的 S横着分屏
ctrl a + | 竖着分屏
ctrl a + Tab 键实现区块间的切换
ctrl a + 大写的X 关闭当前区块,ctrl a + 大写的Q 关闭除当前区块外其他的区块
范例3 date 命令
1、以下选出几个日常比较常用的时间格式:
1. date +%A 显示星期几(英语,如Sunday)
2. date +%B 显示月份(英语,如March)
3. date +%d 显示目前是本月份第几天
4. date +%F 显示目前的年月日(格式如:2011-01-01)相当于:date +%Y-%m-%d
5. date +%Y 显示目前年
6. date +%m 显示当前是本年第几个月
7. date +%H 显示小时
8. date +%M 显示分钟
9.date +%S 显示秒数
10. date +%j 本年第几天(0-366)
11. date +%n 换行
12. date +%t 跳格
13. date +%T 显示24小时制时间 相当于: date +%H:%M:%S
所以要显示标准日期和时间可以如此写: date +%F%t%T
eg:显示当前日期 时间:date +"%Y-%m-%d %H:%M:%S"
2、在linux shell编程中,经常用到日期的加减运算,以前都是自己通过expr函数计算,很麻烦。其实date命令本身提供了日期的加减运算,非常方便。例如:得到昨天的时间
date +%Y%m%d --date="-1 day"
date +%Y%m%d --date="+1 day" //显示前一天的日期
date +%Y%m%d --date="-1 day" //显示后一天的日期
date +%Y%m%d --date="-1 month" //显示上一月的日期
date +%Y%m%d --date="+1 month" //显示下一月的日期
date +%Y%m%d --date="-1 year" //显示前一年的日期
date +%Y%m%d --date="+1 year" //显示下一年的日期
3、在设定时间方面
date -s //设置当前时间,只有root权限才能设置,其他只能查看。
date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
date -s 01:01:01 //设置具体时间,不会对日期做更改
date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
date -s “01:01:01 20080523″ //这样可以设置全部时间
date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
date -s “20080523 01:01:01″ //这样可以设置全部时间
范例4:ifconfig
Linux ifconfig命令用于显示或设置网络设备。
ifconfig可设置网络设备的状态,或是显示目前的设置。
参数说明:
- add<地址> 设置网络设备IPv6的IP地址。
- del<地址> 删除网络设备IPv6的IP地址。
- down 关闭指定的网络设备。
- <hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址。
- io_addr<I/O地址> 设置网络设备的I/O地址。
- irq<IRQ地址> 设置网络设备的IRQ。
- media<网络媒介类型> 设置网络设备的媒介类型。
- mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。
- metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。
- mtu<字节> 设置网络设备的MTU。
- netmask<子网掩码> 设置网络设备的子网掩码。
- tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。
- up 启动指定的网络设备。
- -broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。
- -pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。
- -promisc 关闭或启动指定网络设备的promiscuous模式。
- [IP地址] 指定网络设备的IP地址。
- [网络设备] 指定网络设备的名称。
实例:启动关闭网卡
ifconfig eth0 down
ifconfig eth0 up
为网卡配置和删除IPv6地址
# ifconfig eth0 add 33ffe:3240:800:1005::2/ 64 //为网卡设置IPv6地址
# ifconfig eth0 del 33ffe:3240:800:1005::2/ 64 //为网卡删除IPv6地址
配置IP 地址
//给eth0网卡配置IP地址
# ifconfig eth0 10.0.0.150
// 给eth0网卡配置IP地址,并加上子掩码
# ifconfig eth0 10.0.0.150 netmask 255.255.255.0
// 给eth0网卡配置IP地址,加上子掩码,加上个广播地址
# ifconfig eth0 10.0.0.150 netmask 255.255.255.0 broadcast 192.168.1.255
启用和关闭ARP协议
# ifconfig eth0 arp //开启
# ifconfig eth0 -arp //关闭
设置最大传输单元
# ifconfig eth0 mtu 1500 //设置能通过的最大数据包大小为 1500 bytes
export 设置或显示环境变量
语法
export [-fnp][变量名称]=[变量设置值]
- -f 代表[变量名称]中为函数名称。
- -n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
- -p 列出所有的shell赋予程序的环境变量。
# export -p //列出当前的环境变量值
配置环境变量,实现执行history 的时候可以看到执行命令时间
[root@centos8 ~]# export HISTTIMEFORMAT=' "%F %T" ' >> .bashrc
[root@centos8 ~]# source .bashrc
[root@centos8 ~]# history
1 "2022-03-03 09:31:42" ip a
2 "2022-03-03 09:31:42" ip a