linux案列4

Bash的命令历史

命令历史
保存用户曾经执行过的命令操作
查看历史命令
使用↑、↓按键逐条翻看,允许编辑并重复执行
执行:history
清除历史命令
执行:history -c
调用历史命令
!n:执行历史记录中的第n条命令
案例:
[[email protected] 桌面]# history 查看使用过的历史命令
[[email protected] 桌面]# !227 执行227条命令
ls
123
[[email protected] 桌面]# history –c 清空历史命令
[[email protected] 桌面]# history 查看使用过的历史命令
1 history 只剩下一条命令
[[email protected] 桌面]#
Bash的命令别名
命令别名
为使用频率较高的复杂命令行设置简短的调用名称
查看命令别名
格式:alias [别名]
设置命令别名
执行:alias 别名=‘实际执行的命令’
取消已设置的命令别名
格式:unalias 别名
unalias -a
使别名永久生效
将设置命令保存到~/.bashrc文件中
注意:
手动使用alias命令设置的别名只在当前Shell环境中有效
若需每次登录Shell环境时设置的别名都有效,需要修改宿主目录中的“.bashrc”文件,添加相应别名设置
若要所有用户永久生效,需要放在/etc/bashrc
[[email protected] 桌面]# grep “root” /root/anaconda-ks.cfg 查看anaconda-ks.cfg文件中包含root字符串的行
rootpw --iscrypted $63vZ57OWpodyZ2sJo3vZ57OWpodyZ2sJo/6DyHYETLL2B8pc.qNDa4fOKLeoZEEFQO70VsG9D9eaUuOgwoyphdRFdg906W49AO3deimE4WfqU7VWbJCy6S/
[[email protected] 桌面]# groot 先查找shell命令中有无本条命令
bash: gpoot: 未找到命令…
[[email protected] 桌面]# alias groot=‘grep “root” /root/anaconda-ks.cfg’ 将grep “root” /root/anaconda-ks.cfg命令设置为groot
[[email protected] 桌面]# groot 输入groot命令(相当于输入grep “root” /root/anaconda-ks.cfg)
rootpw --iscrypted $63vZ57OWpodyZ2sJo3vZ57OWpodyZ2sJo/6DyHYETLL2B8pc.qNDa4fOKLeoZEEFQO70VsG9D9eaUuOgwoyphdRFdg906W49AO3deimE4WfqU7VWbJCy6S/
[[email protected] 桌面]#
重启客户端后:
[[email protected] 桌面]# groot 输入groot命令
bash: groot: 未找到命令… 刚刚设置的命令失效
[[email protected] 桌面]# vim /root/.bashrc 用vim编辑器打开/root/.bashrc
linux案列4
将alias groot='grep “root” /root/anaconda-ks.cfg’输入到任意一行
[[email protected] 桌面]# groot 输入groot命令
bash: groot: 未找到命令… 仍然找不到该命令
重启客户端,会自动执行文件,方可生效
[[email protected] 桌面]# groot 输入groot命令
rootpw --iscrypted $63vZ57OWpodyZ2sJo3vZ57OWpodyZ2sJo/6DyHYETLL2B8pc.qNDa4fOKLeoZEEFQO70VsG9D9eaUuOgwoyphdRFdg906W49AO3deimE4WfqU7VWbJCy6S/
[[email protected] 桌面]# unalias groot 取消groot命令
[[email protected] 桌面]# groot 输入groot命令
bash: groot: 未找到命令… groot命令失效
[[email protected] 桌面]# vim /root/.bashrc 用vim编辑器打开/root/.bashrc

重定向:

将命令的执行结果输出到指定的文件中,而不是直接显示在屏幕上
类型 操作符 用途
重定向标准输出 > 将命令的执行结果输出到指定的文件中,而不是直接显示在屏幕上
>> 将命令执行的结果追加输出到指定文件
重定向标准错误 2> 清空指定文件的内容,并将标准错误信息保存到该文件中
2>> 将标准错误信息追加输出到指定的文件中
重定向标准输出和标准错误 &> 将标准输出、标准错误的内容全部保存到指定的文件中,而不是直接显示在屏幕上
输出重定向实例
将命令输出重定向到文件
将标准输出重定向到文件
$ ls /etc/ > etcdir
将标准输出重定向追加到文件
$ ls /etc/sysconfig/ >> etcdir
将错误输出重定向到文件
$ nocmd 2> errfile
将标准输出和错误输出重定向到文件
$ ls afile bfile &> errfile
案例:
[[email protected] ~]# ls /etc 查看/etc文件内容
abrt hosts profile.d
adjtime hosts.allow protocols
aliases hosts.deny pulse
aliases.db hp purple
alsa idmapd.conf qemu-ga
alternatives init.d qemu-kvm
anacrontab inittab radvd.conf
asound.conf inputrc rc0.d
at.deny iproute2 rc1.d
at-spi2 ipsec.conf rc2.d
audisp ipsec.d rc3.d
audit ipsec.secrets rc4.d
avahi iscsi rc5.d
bash_completion.d issue rc6.d
bashrc issue.net rc.d
binfmt.d java rc.local
bluetooth jvm redhat-release
bonobo-activation jvm-commmon request-key.conf
brltty kdump.conf request-key.d
brltty.conf kernel resolv.conf
chkconfig.d krb5.conf rhsm
chrony.conf ksmtuned.conf rpc
chrony.keys ld.so.cache rpm
colord.conf ld.so.conf rsyncd.conf
cron.d ld.so.conf.d rsyslog.conf
cron.daily libaudit.conf rsyslog.d
cron.deny libibverbs.d rwtab
cron.hourly libnl rwtab.d
cron.monthly libreport samba
crontab libuser.conf sane.d
cron.weekly libvirt sasl2
crypttab locale.conf scl
csh.cshrc localtime securetty
csh.login login.defs security
cups logrotate.conf selinux
cupshelpers logrotate.d services
dbus-1 lvm sestatus.conf
dconf machine-id setroubleshoot
default magic setuptool.d
depmod.d mailcap sgml
dhcp mail.rc shadow
DIR_COLORS makedumpfile.conf.sample shadow-
DIR_COLORS.256color man_db.conf shells
DIR_COLORS.lightbgcolor maven skel
dnsmasq.conf mime.types smartmontools
dnsmasq.d mke2fs.conf sos.conf
dracut.conf modprobe.d sound
dracut.conf.d modules-load.d speech-dispatcher
drirc motd ssh
e2fsck.conf mtab ssl
enscript.cfg mtools.conf statetab
environment multipath statetab.d
ethertypes my.cnf sudo.conf
exports my.cnf.d sudoers
exports.d nanorc sudoers.d
favicon.png netconfig sudo-ldap.conf
fcoe NetworkManager sysconfig
festival networks sysctl.conf
filesystems nfsmount.conf sysctl.d
firewalld nsswitch.conf systemd
fonts nsswitch.conf.bak system-release
fprintd.conf ntp system-release-cpe
fstab numad.conf terminfo
fuse.conf oddjob tmpfiles.d
gconf oddjobd.conf trusted-key.key
gcrypt oddjobd.conf.d tuned
gdbinit openldap udev
gdbinit.d opt udisks2
gdm os-release unbound
ghostscript PackageKit updatedb.conf
gnome-settings-daemon pam.d UPower
gnome-vfs-2.0 passwd usb_modeswitch.conf
gnupg passwd- usb_modeswitch.d
GREP_COLORS pbm2ppa.conf vconsole.conf
groff pinforc vimrc
group pkcs11 virc
group- pki vmware-tools
grub2.cfg plymouth wgetrc
grub.d pm wpa_supplicant
gshadow pnm2ppa.conf wvdial.conf
gshadow- polkit-1 X11
gss popt.d xdg
gtk-2.0 postfix xinetd.d
gtk-3.0 ppp xml
hba.conf prelink.conf.d yum
host.conf printcap yum.conf
hostname profile yum.repos.d
[[email protected] ~]# ls /etc/ > catetc 将查看到的/etc/文件内容重定向到catetc文件中
[[email protected] ~]# ls 查看家目录下文件内容
anaconda-ks.cfg initial-setup-ks.cfg 公共 视频 文档 音乐
catetc lshome.txt 模板 图片 下载 桌面 看到新建的catetc文件
[[email protected] ~]# cat catetc 查看catetc文件内容
[[email protected] ~]#
[[email protected] ~]# ls /etc/sysconfig/ >> catetc 将查看到的/etc/sysconfig/文件内容重定向追加到catetc文件中
[[email protected] ~]# cat catetc 查看catetc文件内容
[[email protected] ~]#
[[email protected] ~]# sdvfsdfsdfs 随意输入一个错误的命令
bash: sdvfsdfsdfs: 未找到命令… 显示未找到该命令
[[email protected] ~]# sdvfsdfsdfs 2> aa.txt 将错误的文件命令结果重定向到aa.txt文件中
[[email protected] ~]# cat aa.txt 查看aa.txt文件内容
bash: sdvfsdfsdfs: 未找到命令… 显示查看到的文件信息
[[email protected] ~]# sdfsdf 2>> aa.txt 将错误的文件命令结果重定向追加到aa.txt文件中
[[email protected] ~]# cat aa.txt 查看aa.txt文件内容
bash: sdvfsdfsdfs: 未找到命令… 显示查看到的文件信息(2条)
bash: sdfsdf: 未找到命令…
[[email protected] ~]# ls /home/ sdfsdf &> abc.txt 将正确的和错误的文件命令结果重定向到abc.txt文件中
[[email protected] ~]# cat abc.txt 查看abc.txt文件内容
ls: 无法访问sdfsdf: 没有那个文件或目录 显示查看到的文件信息(正确的和错误的都有)
/home/:
student
students.tar.bz2
student.tar.gz
[[email protected] ~]# vim abc.txt 利用vim编辑器编辑abc.txt文件
linux案列4