1. bash命令行下相关指令
1. 查看硬件信息指令
lscpu
查看CPUfree (-h)
;cat /proc/meminfo
查看内存cat /etc/ceLinux.notentos-release
查看版本型号:lsb_release -a
2. 查看状态指令
who
显示目前登录系统的用户信息who am i
查看当前登陆的用户whoami
查看当前用户名w
系统当前所有的登录会话及所做的操作
3. 目录系统颜色标识:
- 蓝色:目录
- 绿色:可执行文件
- 红色:压缩文件
- 浅蓝色:链接文件
- 灰色:其他文件
whereis 比which更详细(文档路径)
4. 常用基本命令
alias
显示当前shell进程所有可用的命令别名
alias NAME='VALUE'
命令取别名指令(别名优先度高于原始命令)
unalias [-a] name [name ...]
撤销别名 -a 取消所有别名
注意:在命令行中定义的别名,只在当前shell中生效,如果想永久有效,要定义在配置文件中:仅对当前用户:~/.bashrc;对所有用户有效:/etc/bashrc,bash进程重新读取配置文件source /path/to/config_file;. /path/to/config_file。
命令末尾加/可多行输入
\ALIASNAME;"ALIASNAME";\
ALIASNAME`;command ALIASNAME` 均为使用原始命令clock;hwclock
硬件时间(-w 软件时间覆盖硬件时间,-s,硬盖软)
date
操作系统软件级的时间
date 030710022018.30
更改内核时间未2018年03月07日10点22分30秒
cal -y
查看日历screen
-S [SESSION]
创建新会话
screen -x SESSION]
加入会话
screen -ls
显示已经打开的会话
Ctrl+a,d 剥离当前会话
screen -r SESSION]
恢复某会话
exit
退出并关闭会话echo 显示字符
'$VAR_NAME'
内容不做修改
"$VAR_NAME"
命令不识,变量作修改
`$VAR_NAME
` 所有均可识别
{A.B.C};{A..B..C} 括号扩展,打印重复字符串的简化形式- shell相关
echo ${SHELL}
显示当前使用的shell
cat /etc/shells
显示当前系统使用的所有shell
echo $PS1
显示提示符格式
PS1="\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]"
修改提示符格式,\u 当前用户;\H 主机名;\W 当前工作目录基名 ;\w 当前工作目录
位置 | 红 | 绿 | 黄 | 蓝 | 紫红 | 蓝青 | 白 |
---|---|---|---|---|---|---|---|
前 | 31 | 32 | 33 | 34 | 35 | 36 | 37 |
后 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
history
查看历史命令
!n
使用编号为n的历史命令
!:0
执行前一条命令(去除参数)
history -c
清除历史命令(先删除.bash_history的文件后后再执行命令删除)
history-d n
删除第n条历史记录
要重新调用前一个命令中最后一个参数:
!$
表示
Esc, .
(点击Esc键后松开,然后点击 . 键)
Alt+ .
(按住Alt键的同时点击 . 键)关于外部内部指令
enable
打印所有内部指令
type COMMAND
查看是否是内部指令关于查看帮助信息
内部的:man;help
外部的:-h;–help;man;infotouch FILE
创建空文件电源相关指令
halt
;poweroff
;init 0
关机指令shutdown实际上是调用init 0, init 0会cleanup一些工作然后调用halt或者poweroff。其实主要区别是halt和poweroff,做没有acpi的系统上,halt只是关闭了os,电源还在工作,你得手动取按一下那个按钮,而poweroff会发送一个关闭电源的信号给acpi。但在现在的系统上,他们实际上都一样了 –知乎
reboot
重启 -f 强制;-p 切断电源
shutdown [OPTION]... TIME [MESSAGE]
关机或重启
-r
reboot
-h
halt
-ccancel
now
TIME:无指定,默认相当于 +1
立刻,相当于+0
+m
相对时间表示法,几分钟之后;例如 +3
hh:mm` 绝对时间表示,指明具体时间
ls [options] [files_or_dirs]
-a
包含隐藏文件
-l
显示额外的信息
-R
目录递归通过
-ld
目录和符号链接信息
-1
文件分行显示
–S
按从大到小排序
–t
按mtime排序
–u
配合-t选项,显示并按atime从新到旧排序
–U
按目录存放顺序显示
–X
按文件后缀排序cp
-i
覆盖前提示–n
不覆盖,注意两者顺序
“ = $() 调用结果时使用
basename 基名
dirname 目录名
cd - 切换到刚才的路径
ls -S 从大到小排序
ls -1 每个文件单独一行
stat 查看文件元数据
cp -p SOURCE 覆盖时保留数据
-v 显示过程中详细信息
ls -i 查看文件节点编号(分区级别唯一)
df -i 查看目录下节点使用情况
dd if=/dev/zero of=bigfile bs=1M count=100
> FILE 删除文件 比较安全的删除文件方法
- ln
ORIGINFILE NEWFILE
硬链接,节点数一样,两者同时变化,本质同一个文件,rm指令无法同时删除,无法跨分区
-s ORIGINFILE NEWFILE
软连接 ,相当于增加快捷方式,但是同时操作两个文件,节点引用书都不同,跨分区建软连接的话路径以目标路径为准,原文件需要写清楚文件位置。
变量
set 显示所有的变量
unset name 销毁本量
export name=VALUE
declare name=VALUE 创建环境变量
export,env,printenv 显示环境变量
0命令本身
0
命
令
本
身
1,
2…调用第N个参数
2
…
调
用
第
N
个
参
数
# 传递给脚本参数的数量
∗
∗
@ 传递给脚本的所有参数
bash配置文件
profile 交互式 bashrc 非交互式
bash重新生效:. FILE;source FILE.
重定向
> 目的地 重定向(单行重定向)
<<字符 输入字符后结束多行重定向
>> 追加
set -C 禁止覆盖
1> 标准输出重定向
2> 标准错误重定向
&> 全部重定向同一个文件
< 标准输入重定向tr [OPTION]… SET1 [SET2] 转换和删除字符串
-c –C
取字符集的补集
-d
删除所有属于第一字符集的字符
-s
把连续重复的字符以单独一个字符表示
-t
将第一个字符集对应字符转化为第二字符集对应的字符
'a-z' 'A-Z'
小写转大写| 管道符
tee
收到上层命令,存到文件里,同时也在端口进行输出
-
用于压缩包的情况下rz linux与win互传文件
head
-c
指定前多少字节
-n
指定前多少行
-#
制定行数tail
-c
;-n;-#
;
-f
跟踪文件显示,打开后不删除,有更新信息可实时显示,常用于日志监控
-F
跟踪文件名cut [OPTION]… [FILE]…
cut -d DELIMITER
指明分隔符,默认tab
cut -c
按字符切割
cut -f #
第#个字段;#,#,#;###这三个字段;#-# #到#这几个字段,可混合使用。
--output-delimiter=STRING
指定输出结果的分隔符
cut -s # [n]
压缩#字符为一个,以n为分隔符- paste [OPTION]… [FILE]… 合并两个文件同行号的列到一行
paste -d 分隔符
指定分隔符,默认用TAB
paste -s
所有行合成一行显示 wc 计数单词总数、行总数、字节总数和字符总数
-l
只计数行数
-w
只计数单词总数
-c
只计数字节总数
-m
只计数字符总数
-L
显示文件中最长行的长度sort [options] file(s) 默认按照先数字后字母的顺序排,\W优先度最高
-f
忽略字符串中的字符大小写
-r
逆序
-t c
用c作字段分隔符
-k X
选项按照使用c字符分隔的X列来整理可以使用多次
-n
以数值大小排序
-u
删除重复行
-R
随机整理- uniq [OPTION]… [FILE]… 从输入中删除前后相接的重复的行
-c
显示每行重复出现的次数
-d
仅显示重复过的行
-u
仅显示不曾重复的行
注意:常和sort 命令一起配合使用:sort userlist.txt | uniq -c