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'