shutdown命令
-h time,在某时间关机
shutdown -h 10:30 "it will be halt" &
-c,cancel
shutdown -c &
-r,reboot
shutdown -r
echo $[$RANDOM%80] //生成80以内的随机数
yum install sos
# sosreport //收集系统信息生成报告
在/var/tmp目录下生成sosreport-centos7-TIMESTAMP.tar.xz文件,用于向红帽技术提交获取支持
yum install man-pages
man -k issue // -k,同命令apropos 将搜索whatis数据库,模糊查找关键字
man 8 pam_issue // 获取关于issue的帮助
实现登录时提示终端名、主机名和时间
vim /etc/issue 添加
on terminal \lhostname is \ntime is \t
history命令
!# 执行第#条命令
!20 //执行第二十条命令!-5 //执行倒数第五条命令
!?string 执行包含string的命令
!?clean //历史中有yum clean all这条记录,此命令将这条记录执行
!! 执行上一条命令,或者摁ctrl+p
ctrl+r 搜索含某字符串的命令
(reverse-i-search)`iss': man -k issue
!^ 上一个命令的第一个参数
!$ 上一个命令的最后一个参数
!* 上一个命令的全部参数
!:n 上一个命令的第n个参数
!n:^ 调用第n条命令的第一个参数
!n:$ 调用第n条命令的最后一个参数
!m:n 调用第m条命令的第n个参数
!n:* 调用第n条命令的所有参数
history [options]
-a 将内存中的历史写到.bash_history中
-w filename 保存到指定的文件
-p XXX 只打印,不记录到历史
-s XXX 伪造历史
history -s rm -rf /opt //history中可以看到 rm -rf /opt
-c 清空命令历史
-d 删除历史中的指定命令
-r 将histfiles的内容读到当前shell的history 记忆中
-w 将当前的 history 记忆内容写入 histfiles
-n 取出histfiles最新的内容
如在.bash_profile最后添加了XXX,执行history -n,再history|tail 看到最新的记录
/etc/profile中定义了history命令的时间格式(HISTTIMEFORMAT)、数量(HISTSIZE)、控制方式(HISTCONTROL),如在/root/.bash_profile中定义,则优先级更高
HISTTIMEFORMAT="%F %T "
输出如:2016-07-26 18:53:03 whoami
HISTSIZE=1000 // 只记录1000条
HISTCONTROL=ignoredups // 忽略重复(连续且相同)的命令HISTCONTROL=ignorespace // 忽略所有以空白开头的命令HISTCONTROL=ignoreboth // 即ignoredups和ignorespaceHISTCONTROL=erasedups // 删除重复命令
$HISTFILE 历史文件,默认为/root/.bash_history
HISTIGNORE="string1:string2:..." 忽略含这些字符串的历史
HISTIGNORE="echo*:whatis" //
bash快捷键
控制台里使用alt+. 或 securecrt里使用Esc+. 重复调用上条命令最后一个参数
ctrl+a 移动到命令行的最前面
ctrl+e 移动到命令行的最后面
ctrl+k 删除光标至尾部的内容
ctrl+u 删除光标至头部的内容
ctrl+b 光标后移
ctrl+f 光标前移
Esc-b 左移一个单词
Esc-f 右移一个单词
文件系统分层结构:Linux Standard Base
FHS:Filesystem Hierarchy Standard
文件目录对比:centos7比6多了run目录,centos6比7多了misc net目录
[root@centos7 ~]# tree -L 1 /
/
├── bin -> usr/bin
├── boot
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
└── var
/etc :Editable Text Configuration 配置文件目录
/sbin :管理类基本命令
/bin :供所有用户使用的基本命令
/usr :共享目录,数据只读
/var : 存放可变数据文件,log、cache、lock、tmp等
/opt :第三方应用程序的安装位置
/boot :引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader,grub)都存放于此
/run :挂载目录
/srv :系统上运行的服务用到的数据
/proc :用于输出内核与进程信息相关的虚拟文件系统
/sys : 用于输出当前系统上硬件设备相关信息虚拟文件系统
centos6挂载小技巧
cd /misc 里面是空的
cd cd
pwd 显示/misc/cd
ls 看到有文件
实现了自动挂载
block 随机访问,有缓存,物理
character 顺序访问,无缓存,逻辑
socket 套接字,用于通信
onemachine: pro1--Socket--pro2
twomachine: Socket[IP:PORT]
Amachine_app1--IP-->Bmachine--PORT-->Bmachine_app2
空设备/dev/null /dev/zero
dd if=/dev/zero of=f1 bs=1 count=1
xxd f1 或 hexdump f1 读出文件,十六进制
cat text
a
b
c
----------
hexdump text 输出0000000 0a61 0a62 0a63 (0a是换行)
hexdump -C text 输出00000000 61 0a 62 0a 63 0a |a.b.c.|
last命令显示登陆信息 保存在/var/log/wtmp文件
cat /proc/partitions 显示设备
linux对大小写敏感的说法不准确,vfat文件系统是大小写不敏感
df -T 查文件系统,显示tmpfs等
pwd 调用echo $PWD
cd /bin
pwd显示/bin
pwd -P 显示真实路径/usr/bin // -P pysical -L logical
cd ~user1 进入普通用户家目录
ls -R 递归显示
ls -1 一行显示一个
ll -S 文件从大到小排列
ll -rS 文件从小到大排列
ctime 状态更改时间,改名、属性、权限等会变化
atime 读时间
chattr +A file 文件的atime不发生改变stat file 显示文件的设备信息和时间状态信息
题目
只显示某目录下隐藏文件
ls -AF |grep '^\.'
只显示某目录下目录列表
(1)find . -type d -maxdepth 1
(2)ls -F | grep '/$'
(3)ls -l|grep '^d'