Basic Linux Command Sample

ifconfig

语法:ifconfig interface [aftype] options | address

新版RedHat/CentOS 7.x 开始使用nmcliiproute2管理网络

ifconfig需单独安装yum install net-tools
(自2001年起,Linux社区已经停止对net-tool进行维护, net-toolt套件包含ifconfig、route、arp和netstat等命令行工具)

#显示所有(包括未启用)网络接口信息
ifconfig -a  
#启用,禁用网络接口eth0
ifconfig eth0 up|down  
# nmcli device connect|disconnect eno16777736
#设置静态IP地址和掩码
ifconfig eth0 192.168.1.100 netmask 255.255.255.0  

echo

语法:echo [SHORT-OPTION]... [STRING]...

#输出一个声明的变量值
x=10  
echo The value of variable x = $x  
#‘-n‘会在echo完后不会输出新行
echo -n "Tecmint is a community of Linux Nerds"  
Tecmint is a community of Linux Nerdsroot@localhost:~#  
#使用echo命令打印所有的文件和文件夹(ls命令的替代)
echo *  
addall.p anaconda3 bin chart.py ...  
#使用色彩输出字符串
echo -e "\033[33mThis line is in yellow color.\033[0m"  

tty

#显示终端terminal连接的设备文件名
tty  
/dev/pts/0

startx

启动Xwindow

export

语法:export [-fn] [name[=value] ...]

#创建一个新shell变量,并添加export属性
export DATE=2016-12-28  
#显示当前所有export属性的变量
export  
declare -x LANG="en_US.UTF-8"  
declare -x LOGNAME="root"  
...

pwd

#显示当前工作目录
pwd  
/dev/shm
#使用-P显示实际物理工作路径,忽略软连接
pwd -P  
/run/shm

history

语法:
history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]

vi .bashrc  
#设置当前session history数量
HISTSIZE=500  
#设置.bash_history文件内history的数量
HISTFILESIZE=10000  

TIP:让linux立即保存当前session的每一条命令
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"

-a 把当前session的命令行历史记录追加到history文件尾部
-c 清空当前history缓存
-r 重新载入history文件的内容至当前session

history常用功能

#显示最近执行的5条命令记录
history 5  
#执行历史记录中第57条命令
!57
#执行最近一条ssh开头的命令
!ssh
#执行最近一条包含search的命令
!?search?

shutdown poweroff reboot

重启:shutdown -r; reboot
关机:shutdown -h; poweroff
相对而言,使用shutdown命令最安全

hwclock

查询,设置硬件时钟(也称为BIOS时钟)
BIOS时钟和系统时间的关系:

  • 计算机启动时,按BIOS时钟设置系统时间
  • 开机后通过NTP服务精确设定系统时间
  • 系统关机时,把系统时间同步到BIOS时钟
#显示BIOS时钟时间
hwclock  
#将系统时间同步到硬件时钟(新版Linux会自动同步)
hwclock -w  
hwclock --systohc  
#将硬件时钟同步到系统间(基本没有这个必要)
hwclock -s  
hwclock --hctosys  
#PS:这个命令居然连语法高亮都没有,估计平时没人用……

更多关于系统时间方面的设置

date

语法:
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

常用功能

#按格式显示系统时间,日期
date +"%F %H:%M:%S"  
2016-12-30 10:33:02  
# %R = %H:%M
date +"%F %R:%S"  
2016-12-30 10:33:02  
#设置系统时间
date -s "12/30/2016 12:48:00"  
#查询下周一的日期
date -d "next mon"  
Mon Jan  2 00:00:00 CST 2017  
#查询昨天的日期
date -d "1 day ago" +%F  
2016-12-29