linux 运维基础命令集
执行命令的顺序: 别名>内部命令>外部命令
Linux中用type +命令 可以查看命令的类型
enable +命令 是启用内部命令
enable +n+命令 是用内部命令
enable 是查看禁用的内部命令
定义别名:alias name=命令 输入name执行的是命令
alias NAME='VALUE'
撤销别名: unalias
要想把别名永久保存,要定义在配置文件中
:~/.bashrc 只对当前的用户
:/etc/bashrc 对所有的用户都有效
[18:55:05 root@zhao[ ~]#echo "alias rm='rm -r'">> .bashrc
把rm的别名rm -r写进.bashrc
如果别名和原命令同名需要使用原命令要在原命令的前边放上‘\’
[18:59:31 root@zhao[ ~]#\ls
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures Templates
Desktop Downloads Music Public Videos
在编辑配置之后,不会立即生效,需要刷新一下“source”
date 时间的显示(软件的时间);
clock显示的硬件的时间。
cal +年 显示那一年的日历
[19:00:35 root@zhao[ ~]#date
Sat Dec 14 19:00:38 CST 2019
[19:00:38 root@zhao[ ~]#clock
2019-12-14 19:00:33.694641+08:00
[19:00:47 root@zhao[ ~]#cal
December 2019
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
关机:halt;poweroff
重启:reboot -f 强制 不调用
shutdown -p切断电源
关机或者重启:shutdown
nano 文本编辑,初学者
输出信息:echo [neE] [字符串]
选项-E (默认)不支持\结束功能
-n 不自动换行
-e 启用\字符的解释功能
显示变量
echo +\a 发出警报声
echo +\b 退格键
echo +\c 最后不加上换行符号
echo +\e escape,相当于\033
echo +\n 换行且光标移至行首
echo +\r 回车,即光标移至行首,但不换行
echo +\t 插入tab
echo +\ 插入\字符
echo +\Onnn 插入nnn(八进制)所代表的ASCLL字符
echo +HH 插入HH(十六进制) 所代表的ASCLL字符
获得帮助
- whatis
[19:18:17 root@zhao[ ~]#whatis date
date (1) - print or set the system date and time
date (1p) - write the date and time
- command --help
- man and info
查看man手册页:man [章节] keyword - /usr/share/doc/
- Red Hat doncumentation
- 其他网站和搜索
查看命令的帮助
内部命令:help +COMMAND;man bash
外部命令和软件:
- COMMAND --help or COMMANd
- 使用手册(manual){man COMMAND}
- 信息页 info COMMAND
- 程序员自身的帮助文档README INSTALL ChangeLog
- 程序官方文档 官方站点:Documentataion
- 发新版的官方文档
- (7) Gooldle
(man帮助要比help帮助写的详细)
### 显示当前工作目录
pwd -P显示真实的物理路径
[19:25:03 root@zhao[ etc]#pwd -P
/etc
pwd -显示链接路径(默认)
更改目录
- 切换至父目录:cd …
- 切换至当前用户主目录:cd
- 切换至以前的工作目录:cd -
列出目录内容
ls 命令可以列出当前目录的内容或者指定目录
常见选项:
- -a
[19:31:38 root@zhao[ /]#ls -a
. bin data dev home lib64 media opt root sbin sys usr
.. boot date etc lib log mnt proc run srv tmp var
- -l 显示额外的信息
[19:31:41 root@zhao[ /]#ls -l
total 32
lrwxrwxrwx. 1 root root 7 May 11 2019 bin -> usr/bin
dr-xr-xr-x. 6 root root 4096 Dec 14 15:09 boot
drwxr-xr-x. 3 root root 58 Dec 14 17:09 data
-rw-r--r--. 1 root root 2481 Dec 14 16:07 date
drwxr-xr-x. 19 root root 3300 Dec 14 08:14 dev
drwxr-xr-x. 133 root root 8192 Dec 14 17:13 etc
drwxr-xr-x. 3 root root 18 Dec 13 19:02 home
lrwxrwxrwx. 1 root root 7 May 11 2019 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 May 11 2019 lib64 -> usr/lib64
- -R 目录递归
- -ld 目录和符号链接信息
- -1 文件分行显示
- -S 按从大到小排序
- -t 按mtime排序
- -u 配合-t选项,显示并按atime从新到旧排序
- -U 按目录存放顺序显示
- -X 按文件后缀排序
查看文件状态 stat
文件相关的信息: metadata 、data
- access time 访问时间,atime,读取文件内容
- modify time 修改时间,mtime,改变文件内容(数据)
- change time 改变时间,ctime,元数据发生改变
[19:32:39 root@zhao[ /]#stat /var
File: /var
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 802h/2050d Inode: 133 Links: 21
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:var_t:s0
Access: 2019-12-13 20:48:50.227526421 +0800
Modify: 2019-12-11 11:02:56.117210739 +0800
Change: 2019-12-14 08:14:04.143134195 +0800
Birth: -
确定文件内容
file [options]<filename
- -b 列出文件辨识结果时,不显示文件名称
[19:39:42 root@zhao[ /]#file -b /var
directory
- -f filelist 列出文件filelist中文件名的文件类型
- -F 使用指定分隔符号替换输出文件名后默认的”:”分隔符
- -L 查看对应软链接对应文件的文件类型
- –help 显示命令在线帮助
通配符应用
- 显示/etc目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录
[19:57:31 root@zhao[ etc]#ls -a l*[[:digit:]]*[[:lower:]]
ladsa22ad.txt
- 显示/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录
[19:57:42 root@zhao[ etc]#ls -a [[:digit:]]*[^[:digit:]]
5qwed
- 显示/etc/目录下以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录
[20:02:05 root@zhao[ etc]#ls -a [^[:alpha:]]*[[:alnum:]]
55asda.txt 5qwed
- 显示/etc/目录下所有以rc开头,并后面是0-6之间的数字,其它为任意字符的文件或目录
[20:02:08 root@zhao[ etc]#ls -a rc[^[0-6]*
rcdjsk5ads rc.local
rc.d:
. .. init.d rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d rc.local
- 显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录
[20:03:02 root@zhao[ etc]#ls -a [mnrp]*.conf
man_db.conf mtools.conf nsswitch.conf radvd.conf rsyslog.conf
masdk.conf nfs.conf pbm2ppa.conf request-key.conf
mke2fs.conf nfsmount.conf pnm2ppa.conf resolv.conf
- 只显示/root下的隐藏文件和目录
[20:05:04 root@zhao[ ~]#ls -ad .*
. .bash_logout .cache .dbus .local .viminfo
.. .bash_profile .config .esd_auth .pki .Xauthority
.bash_history .bashrc .cshrc .ICEauthority .tcshrc
- 只显示/etc下的非隐藏目录
[20:05:53 root@zhao[ etc]#ls
55asda.txt hostname protocols
5qwed hosts pulse
adjtime hosts.allow qemu-ga
aliases hosts.deny qemu-kvm
alsa hp radvd.conf
alternatives idmapd.conf ras
anacrontab init.d rc0.d
asound.conf inittab rc1.d
at.deny inputrc rc2.d
audit insights-client rc3.d
authselect iproute2 rc4.d
avahi iscsi rc5.d
bash_completion.d issue rc5djskads
bashrc issue.d rc6.d
bindresvport.blacklist issue.net rc.d
binfmt.d kdump.conf rcdjsk5ads
bluetooth kernel rc.local
brlapi.key krb5.conf rdma
brltty krb5.conf.d redhat-access-insights
brltty.conf ksmtuned.conf redhat-release
centos-release ladsa22ad.txt request-key.conf
centos-release-upstream ld.so.cache request-key.d
chkconfig.d ld.so.conf resolv.conf
chrony.conf ld.so.conf.d rhsm
chrony.keys libaudit.conf rpc
cifs-utils libblockdev rpm
cni libibverbs.d rsyslog.conf
cockpit libnl rsyslog.d
containers libpaper.d rwtab.d
cron.d libreport samba
cron.daily libuser.conf sane.d
cron.deny libvirt sasl2
cron.hourly locale.conf security
cron.monthly localtime selinux
crontab login.defs services
cron.weekly logrotate.conf sestatus.conf
crypto-policies logrotate.d setroubleshoot
crypttab lsm sgml
csh.cshrc lvm shadow
csh.login machine-id shadow-
cups magic shells
cupshelpers mailcap skel
dbus-1 makedumpfile.conf.sample smartmontools
dconf man_db.conf sos.conf
default masdk.conf speech-dispatcher
depmod.d mcelog ssh
dhcp microcode_ctl ssl
DIR_COLORS mime.types sssd
DIR_COLORS.256color mke2fs.conf subgid
DIR_COLORS.lightbgcolor modprobe.d subgid-
dleyna-server-service.conf modules-load.d subuid
dnf motd subuid-
dnsmasq.conf motd.d sudo.conf
dnsmasq.d mtab sudoers
dracut.conf mtools.conf sudoers.d
dracut.conf.d multipath sudo-ldap.conf
egl nanorc sysconfig
enscript.cfg ndctl sysctl.conf
environment netconfig sysctl.d
ethertypes NetworkManager systemd
exports networks system-release
exports.d nfs.conf system-release-cpe
favicon.png nfsmount.conf tcsd.conf
filesystems nftables terminfo
firefox nsswitch.conf tmpfiles.d
firewalld nsswitch.conf.bak trusted-key.key
flatpak openldap tuned
fonts opt udev
fprintd.conf os-release udisks2
fstab ostree unbound
fuse.conf PackageKit updatedb.conf
fwupd pam.d UPower
gconf papersize usb_modeswitch.conf
gcrypt passwd vconsole.conf
gdm passwd- vimrc
geoclue pbm2ppa.conf virc
glvnd pinforc vmware-tools
gnupg pipewire wgetrc
GREP_COLORS pkcs11 wpa_supplicant
groff pki X11
group plymouth xattr.conf
group- pm xdg
grub2.cfg pnm2ppa.conf xinetd.d
grub.d polkit-1 xml
gshadow popt.d yum
gshadow- prelink.conf.d yum.conf
gss printcap yum.repos.d
gssproxy profile
host.conf profile.d
创建空文件和刷新时间
touch [OPTION]… FILE…
在root目录下建一个以两天前日期为名的文件
[20:10:11 root@zhao[ ~]#touch `date -d "-2 day" +%F_%T`.txt
[20:10:14 root@zhao[ ~]#ls
2019-12-12_20:10:14.txt Desktop Downloads Music Public Videos
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures Templates
复制文件和目录
cp用法
- cp [OPTION]… [-T] SOURCE DEST
- cp [OPTION]… SOURCE… DIRECTORY
- cp [OPTION]… -t DIRECTORY SOURCE…
cp -a /etc/ /data/zhao’date +%F’ 复制过程+改名
[20:10:15 root@zhao[ ~]#cp -a /etc/ /data/zhao`date +%F`.txt
[20:25:41 root@zhao[ ~]#cd /data
[20:25:57 root@zhao[ data]#ls
is.txt passwd zhao zhao2019-12-14.txt
cp 常用选项的做法
- i 覆盖前提示
- -n 不覆盖,注意两者顺序
- -r, -R 递归复制目录及内部的所有内容
- -a 归档,相当于-dR --preserv=all
- -d --no-dereference --preserv=links 不复制原文件,只复制链接名
- –preserv[=ATTR_LIST]
mode: 权限
ownership: 属主属组
timestamp:
links
xattr
context
all - -p 等同–preserv=mode,ownership,timestamp
- -v --verbose
- -f --force
- -u --update 只复制源比目标更新文件或目标不存在的文件
- -b 目标存在,覆盖前先备份,形式为 filename~
- –backup=numbered 目标存在,覆盖前先备份加数字后缀
移动和重命名文件
mv的用法:
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...
-
-i 交互式
-
-f 强制
-
-b 目标存在,覆盖前先备份
mv Downloads /data/download 移动+改名
[20:54:06 root@zhao[ ~]#mv Downloads /data/download [20:54:10 root@zhao[ ~]#cd /data [20:54:21 root@zhao[ data]#ls download is.txt passwd zhao zhao2019-12-14.txt
同一分区中移动数据速度很快(数据位置没有变化) 不同分区移动数据相对很慢(数据移动位置)
删除文件
rm的用法
rm [OPTION]... FILE...
常用选项
- -i 交互式
- -f 强制删除
- -r 递归
- –no-preserve-root 删除/