1、在/etc/profile.d下面的脚本在开机的时候回自动执行,但必须以.sh结尾
2、enable 命令查看内部命令shell内部的命令
enable -n ls 禁用内部命令的ls功能
enable ls 启用禁用的命令
3、PS1变量为颜色控制变量,可以修改字体和背景的颜色
PS1='[\e[1;33m\]\u@\h \W]\$' 字体为黄色
4、获取帮助
help命令可以查看所有的内部命令的帮助
前面带*的为禁用的内部命令
whatis 依赖whatis数据库,刚完成系统安装是没有的,会自行安装,也可以输入命令打开
centos 6 makewhatis
centos7 mandb
5、查看信息
which 列出命令路径
--skip-alias 取消命令的别名
tree列出文件列表
pstree查看进程树 安装 yum -y install psmisc
lshw查看硬件信息
lspci 查看pci接口上的硬件信息
hexdump 查看二进制文件的信息信息 hexdump -c | -C 查看详细信息,可以用于查看分区的数据内容,hexdump -c -n 512 /dev/sda
xxd 文件名 功能类似hexdump
uname -m CPU类型 uname -r 内核版本
6、bc命令使用 内部计算器
可以通过命令行进行计算
输入二进制 ibase=2
输出二进制 obase=2
退出进制转换 exit
退出计算器 quit
可以采用通道的方式进行计算 echo 1+2 | bc
7、hash命令,列出所有缓存的命令路径,执行命令就能看到所有的缓存路径
hash -d hostname 删除hostname 命令的缓存路径
hash -r 删除全部
8、alias为命令别名
alias new=‘old name’
如果出现别名和命令冲突,可以用'cmd'方式进行执行,或者输入绝对路径
unalias -a 取消所有别名
命令前面加\就是取消别名的命令
9、ntpdate ip
netdate 172.16.0.1
clock 硬件系统时间,修改硬件系统时间 clock -w
cal -y 显示日历
date 显示系统时间
timedatectl 时间设定 timedatectl set-tinezone Asia/Shanghai 修改时区
localect 语言设定,其实就是LANG变量配置 localectl list-locales 列出所有语言
10、获取帮助
man 帮助 1、用户命令 2、系统调用 3、C库调用 4、设备文件及特殊格式 5、配置文件格式
6、游戏 7、杂项 8、管理类命令 9、linux内核API
whatis 命令可以查看帮助中的章节都有哪一些
man [1-9] cmd
/etc/share/doc 每安装一个命令或者包都会生成一份对应的文件夹,用来存储帮助文档
info cmd 获取info格式的帮助指令 内容贼详细,就是太多了
11、/etc/issue 打印用户登录前信息,写上啥就打印啥
/etc/motd 打印用户登录前信息,写上啥就
/etc/locale.conf 为LANG变量配置文件 LANG=”zh_CN.UTF-8” 支持汉字
安装中文的man帮助yum install man-pages-zh-CN.noarch
12、关机命令
shutdown -h n n分钟后关闭计算机 shutdown -c 取消设定的关机
13、虚拟窗口命令
screen 开启一个新的虚拟窗口,用于进行长时间的命令,不会因为ssh断开而出问题
screen -ls 列出已经打开的虚拟窗口,会列出pid,通过关闭pid就可以停止screen
screen -S name 为虚拟屏幕设定名称
screen -x name 加入到name的指定的屏幕中,一般用于相互帮助中
exit 退出当前的screen
screen -r name 恢复指定的screen
ctrl +a +d 剥离当前screen
14、快捷键
ctrl + u 删除贯标处到行手
ctrl + k 删除光标处到行尾
Alt + r 删除正好
ctrl +xx 行首和行尾切换
ctrl + e 移动至行尾
ctrl + a 移动至行首
alt + f 向右移动一个单词尾部
alt + b 向左移动一个单词头部
15、df、du命令
du -sh /dir 查看指定目录的磁盘占用量
df -i 查看inode节点的利用率
16、 lsblk 查看系统已经安装的块设 备
17、/etc/DIR_COLORS 这个文件是关于文件类型和颜色的对应配置文件
18、basename 只要路径中的文件名字
dirname 只要路径中的路径名称
19、ls的和stat的使用
ll --time=atime 列出文件读时间 显示的是文件中的数据最后被访问的时间
ll --time=mtime 修改时间 显示的是文件内容被修改的最后时间
ll --time=ctime 状态修改时间 显示的是文件的权限、拥有者、所属的组、链接数发生改变时的时间
stat列出更详细的内容,包含以上的三个时间
20、通配符
* 匹配零个或多个字符
? 匹配单个字符
~ 当前用户家目录
~fu 用户fu的家目录
~+ 当前工作目录
~-前一个工作目录
[0-9] 匹配数字范围
[a-z] 匹配字母或者大写的也行
[wang] 匹配列表中任何一个字符
[^wang]匹配列表中所有字符以外的字符
21、cp命令
cp -b 目标存在可以做出备份文件,在文件名后面增加~
cp -a 复制全部内容,包括所有者和时间戳
cp -u 只复制更新的文件和没有存在的文件
--preserv 声明部分设置需要复制,比如属主信息等 ownership 属主属组
22、当一个文件删除后所占用的磁盘空间没有施放,可以通过重定向的方式
rm只是将文件链接解除,如果此时有进程打开文件,系统是不会回收文件。
> 文件名 这样文件对磁盘的占用就会消失,然后再删除即可
23、批量文件名修改
rename .log .log.bak *
24、ln
硬连接不能用于目录文件,不能夸分区
软连接可以用于夸文件系统
每个目录文件有三个连接数,其中有一个是自己目录中的 . 还有一个是其中子目录下面的 . .
25、set命令
set -C 关闭覆盖功能
set +C 打开覆盖功能
26、多行重定向
cat << EOF
后面的字母随便定义就行,只要输入这个字母就会结束,,这个字母前后不能带任何空格
> 输出重定向
1 > file 正确输出
2 > file 错误输出
& > file 正确和错误输出
> file 2>&1 正确输出和错误输出放到一起
27、tr命令 将输入的字符进行替换
tr ‘ ’ + 将内容中的空格转换为+号
28、CentOS7 单元用户模式
在grub引导向后面添加 init=/bin/bash
登录成功后重新挂载文件系统为读写 mount -o rw,remount /
29、 用于linux系统之间拷贝文件采用的
scp srcfile user@ip:/path
30、time 命令执行的时间
time 命令
radl 全部时间
user 用户空空间时间
sys 内核占用的时间
31、查看socket连接状态
ss -nt
或者 cat /proc/net/tcp
-l: listening 【ss -l列出所有打开的网络连接端口】
-s: summary 【显示 Sockets 摘要】
-r: resolve 【解析服务名称】
-m: memory 【显示内存情况】
32、查看指定命令所需要的安装的包
yum provides 查找提供指定内容的软件包
rpm -pf 命令路径 查看已经安装的命令是属于哪个安装包的
33、修改内核参数
sysctl -a 显示所有可以更改的内核参数
sysctl net.ipv4.ip_forward=1 修改内核转发参数,使其使能
/etc/sysctl.conf 这是sysctl的配置文件,写入的内容可以开机的时候自动执行修改内核参数
net.ipv4.ip_forward=1 在配置文件中直接这么写就行
sysctl -p 重读配置文件
34、启用系统scsi总线扫描 用于不显示刚刚增加的硬盘
echo '- - - ' > /sys/class/scsi_host_host2/scan
35、二进制文件读写命令dd
dd if=/dev/sda(输入文件或者设备) of=/data/data(输出文件) bs=1 (块数) count=64(一个块大小) skip=446(跳过输入设备的钱446个字节数)|seek=446(跳过输出设备前446个字节)
36、生成UUID值
uuidgen 命令
37、fuser命令
用于报告进程使用的文件和网络套接字
fuser -v /mnt 查看那个用户在使用/mnt这个目录
fuser -km /mnt 杀死所有的使用/mnt这个目录的用户
38、W命令
w命令用于显示目前登入系统的用户信息。
执行这项指令可得知目前登入系统的用户有哪些人,以及他们正在执行的程序。
单独执行 w 指令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息
39、dmseg命令
显示开机信息,kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log目录中,名称为dmesg的文件里。
40、命令有很多子命令,如果不出现tab键进行补全的话,需要安装bash-completion 软件包
41、定时计划任务设置
yum install crontabs
systemctl enable crond (设为开机启动)
systemctl start crond(启动crond服务)
systemctl status crond (查看状态)
vi /etc/crontab
可以看到:
Example of job definition:
.---------------- minute (0 - 59) 分钟
| .------------- hour (0 - 23) 小时
| | .---------- day of month (1 - 31) 日
| | | .------- month (1 - 12) OR jan,feb,mar,apr ... 月
| | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat 周
| | | | |
* * * * * user-name command to be executed
*/30 * * * root /usr/local/mycommand.sh (每天,每30分钟执行一次 mycommand命令)
* 3 * * * root /usr/local/mycommand.sh (每天凌晨三点,执行命令脚本,PS:这里由于第一个的分钟没有设置,那么就会每天凌晨3点的每分钟都执行一次命令)
0 3 * * * root /usr/local/mycommand.sh (这样就是每天凌晨三点整执行一次命令脚本)
*/10 11-13 * * * root /usr/local/mycommand.sh (每天11点到13点之间,每10分钟执行一次命令脚本,这一种用法也很常用)
10-30 * * * * root /usr/local/mycommand.sh (每小时的10-30分钟,每分钟执行一次命令脚本,共执行20次)
10,30 * * * * * root /usr/local/mycommand.sh (每小时的10,30分钟,分别执行一次命令脚本,共执行2次)
加载任务,使之生效:crontab /etc/crontab
查看任务:crontab -l
$ crontab -u 用户名 -l (列出用户的定时任务列表)
42、查看系统相信信息配置文件
cat /etc/os-release
43、tab键自动补全命令
安装完成后默认是不提供tab自动补全命令的,只能补全当前目录下的文件,需要安装额外的工具包
yum install bash-completion
44、xargs命令
xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。
将上一个命令的输出作为下一个命令的参数
docker ps -a -q | xargs docker rm
45、curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具
curl ip:port 可以测试http下载
46、whereis命令
特定目录中查找符合条件的文件,搜索命令查看命令以及命令的配置文件的时候用的
-b 只查找二进制文件
-m 只查找说明文件。
-M<目录> 只在设置的目录下查找说明文件。
-s 只查找原始代码文件。
-S<目录> 只在设置的目录下查找原始代码文件。
-u 查找不包含指定类型的文件。
网友评论