三种参数类型
1⃣时间日期:
cal times time
2⃣文字处理:
ctl+v 输入控制字符
${#str} str字符串长度
expr length $abc 同上
typeset -i x=base#number x是base进制的数,值为number。
typeset -i x=0x1000 与上类似
IFS bash内部字段分隔符
expr 计算数值表达式
${var#key}一般范式
# ## 从前向后删除最短的或最长的
% %% 从后向前搜索
/ // 替换单个或替换所有
new_var=${old_var-content}若old_var未设定则设为content
new_var=${old_var:-content}若old_var为空或未设定则设为content
gpg 加密解密文件
cut sort wc uniq tee
tr 替换或删除string中的字符
col 将tab转为空格
join 每行按字段粘贴
paste 傻粘贴
expand 将tab转为空格
unexpand 反上
split 按大小或行分割文件
head nl tail
sed 处理一行
egrep 类似于grep -E
printf 格式化输出文本
awk 处理一列
sed -n '87,90p' file
${a}${b}
cat << MARK
....
MARK
rev 反转内容
xxd
sed -n l file 将file中的不可见字符显示出来
3⃣进程控制:
gksu 图形界面下的sudo
pmap 查看进程内存映射
pkill 以名称杀进程
pgrep 查找名称进程的pid
xkill 杀死图形程序 ?
dtruss mac下的strace
fakeroot 伪sudo
htop 高级进程查看器
ctl+z 将当前工作放入背景执行,预设情况下此工作为暂停状态。
source a.sh #run in baba,函数库关键命令,其别名为点(.)。
bash -nx
atq 枚举目前系统中待执行的任务
atrm 移除指定任务
cron
batch 系统空闲时执行at
crontab 执行周期性任务
anacron 督促执行系统关机后又启动时的crontab
fg 将背景工作拿到前景运行(默认带+号的job)
bg 在后台运行放在后台的任务(是在背景运行不是在前景)
&
jobs 查看目前背景工作状态
kill 向job(%job号)或进程发送信号
kill -9 %1
nohup 不在终端环境下运行程序
ps -A or ps aux
pstree top
killall
nice 以nice值运行程序,调整进程pri优先级 pri = pri + ni
renice 修改正在运行进程的nice,nice值会传递给子进程
free 显示内存使用情况
uptime 系统启动时间和负载
exec
pidof 找出执行程序的pid
/etc/services service
vmlinuz
>&2 &> 2> #3者的区别
exec 1>file exec 3>&1
exec 3<> file
exec 3>&-
depmod 建立模块相关性档modules.dep lsmod 列出目前系统核心加载的模块
modinfo 查看具体模块信息
modprobe 根据modules.dep内容加载模块,解决模块依赖性
insmod 加载指定模块
rmmod 移除已加载模块
mkinitrd 重制initrd文件
hash 命令表散列
fc 修改并执行上一个指令
fc -s 执行上一条指令
fc -s a=b 替换上条指令中的a为b,再执行
typeset 定义函数局部变量
command -vV
open
sar 性能分析工具
sysctl
suspend #暂停执行shell
trap #内置命令,当shell接收到sigspec指定的信号时,
arg参数(命令)将会被读取,并被执行。
strace
nohup xxx select
fc #打开一个编辑器去修改或重新执行以前输入的命令
dstat 现实系统负载
slurm 网络流量图形化工具
htop/iotop 系统和IO监控器
sync 同步硬盘数据
4⃣文件处理:
tar -xvzf file.tgz 解压缩
ipcs和ipcrm 查看和删除系统的ipc对象
创建命名管道2种方法:
1 mknod xxx p
2 mkfifo xxx
iotop IO实时监视器
stat 查看文件详细a属性
>a #创建空文件a
fsck /dev/sda7
FHS文件规范
cd - 前一个工作目录
inode block superblock
df -aTh
du ln ln -s
fdisk -l
mount -l
updatedb
umount mount -o ro ...
dd
swapon -s
gzip bzip2 tar打包
type -a and file
stty
stat
du -sh xxx #size of dir xxx
du -shD xxx #if xxx is link
ls -a /|split -l 10 - file #注意其中第3个-
whatis
find /sbin -perm +7000|xargs ls -l
tar -cvf - /home |tar -xvf -
diff 行字符比较
patch
cmp 字节比较
pr 按页打印
rm -r dir_name
quota RAID LVM
chattr lsattr
lspci|grep VGA
lsusb iostat lspci
ldd 查询程序绑定的动态链接库
link
lshw #查看硬件信息
arecord aplay #ALSA
dmidecode
mdfind mac上的locate
vmstat 系统内存/cpu/磁盘输入输出状态
fuser 找出file被哪个进程占用
lsof 列出进程打开的文件名
redhat:RPM yum ,Debian:dpkg APT预编译打包 SRPM
mktemp
lsblk #显示块设备
readlink
<< #内置输入重定向
dpkg -l
rename
umask
which whereis
cpio
iconv
5⃣用户安全:
文件默认权限为666,目录为777
su user_name
/etc/passwd /etc/group
useradd 新增用户
useradd -D 显示默认值
passwd 给用户设置密码
chage 显示或修改用户密码详细信息
chage -l hopy 列出账号详细密码参数
usermod 修改账户信息
userdel 删除用户
groupadd 新建一个用户组
groupmod 修改组信息
groupdel 删除组
gpasswd 组管理员管理用户组
uid为0为超级用户
sudoer
finger 查询用户信息
4 suid 2 sgid 1 sbit
groups 查看当前user所属群组,第一个为有效群组
newgrp 在新shell中切换有效群组
shadow group gshadow
初始群组 有效群组
chfn 修改用户finger信息
chsh 修改用户shell
id 查询用户uid和gid
ACL setfacl getfacl
su -
login shell and nologin shell
visudo PAM
last 近期用户登入登出情况
lastlog 每个账号最近登入时间
w 显示系统负载以及用户登入信息
who 简化版的w,没有负载信息
write 向特定用户发送信息
mesg 控制显示或不显示其他用户发来的信息
wall 向系统中所有用户发送消息
mail 发送或接收邮件
pwck 检查passwd文件内容是否与实际用户相一致
grpck 同上,只是检查组内容
pwconv 将passwd内的账号与密码移动到shadow中
pwunconv 将shadow写回passwd且删除shadow文件,建议不使用
grpconv
chpasswd 读入未加密前的密码,加密后写入shadow中
SELinux :主体进程,目标文件系统,政策 安全上下文
DAC 自主式访问控制,控制主体为用户
MAC 委任式访问控制,控制主体为程序
Mac OS X启用root:
dsenableroot
禁用:dsenableroot -d
6⃣编程:
indent 修正c源代码风格
ldconfig 设置动态运行时绑定
ld.so.conf ld库路径
pkg-config 取得安装库的元信息
expr like $[1 + 4]
make install
for i in nums
for((i=1;i<=$x;i=i+1))
if的高级功能:(()) 数学表达式和[[]]字符串表达式
ary=(aa bb cc dd) #${ary[0]}
m4宏编程
readonly 将变量变为只读
unset 删除变量
ctags 给c代码文件中的函数添加索引
cflow 打印c代码函数调用树
7⃣系统环境:
locale 显示本地配置
printf "\033c" 控制台清屏 esc+c
glances 查看实时系统状态
bash -r 启用受限bash
wait 等待指定进程完成
eval 解释执行命令
$! 最后一个进入后台进程的pid
$1 第1个参数
${20}第20个参数
md5sum 计算md5散列
sha1sum 计算sha1散列
sum和cksum 简单计算散列
runlevel 查看当前系统运行级别
uname 查询系统和核心信息
| 管线命令仅处理前一个命令传来的正确信息,即stdout信息。
管线后面第一个一定是指令,且该指令能接受stdin。
printenv 显示env
man -f passwd
export var unset
set env
alias unalias history
/etc/profile
~/.bash_profilep
.bashrc
script -q a.log #start log
ctl+d #end
dmesg 分析核心产生的信息
$0 $1...$5
$# count $@ $* shift
printenv 查看全局环境变量
linux run level
syslogd klogd logrotate
IFS 分隔符 basename dirname
$# $* $@ shift getopt set --
getopts
stty -a
BASH_ENV
chkconfig 管理系统服务默认开机启动与否
sysv-rc-conf #like chkconfig
siege/tsung 命令行压力测试工具
vifm/ranger 命令行资源管理器
串行口终端 /dev/ttyS*
控制台终端 /dev/tty*,/dev/console
伪终端主设备 /dev/ptyAX
伪终端从设备 /dev/ttyAx
X下伪终端从设备 /dev/pts/n
man bash 查看bash内嵌命令帮助
locale -a 查看系统支持的语系
read
ulimit
!d 执行历史记录中最近的d打头的命令
!n 执行第n条历史指令
!! 执行最近一条指令
/etc/services 系统端口号与服务对应表
syslogd 记录系统与网络等服务信息
klogd 记录核心产生的信息
logrotate 轮替日志文件
chroot 更改root目录
lpstat -a 查看已存在打印机
lpadmin 添加删除打印机
lpr lp 打印
lpq 查看打印队列
lprm 删除打印队列
ldconfig 确定动态链接运行时绑定,其缓存的文件列表在 /etc/ld.so.conf里
8⃣数值处理:
bc dc
declare -i sum=1+12
$((1+2))
seq 按格式生成顺序数字集合
$[1 + 2]
zsh 支持浮点运算
ascii 查看编码各种表示
9⃣网络:
netstat
ping -c 1 1.1.1.1 &>/dev/null&&echo 0||echo 1
#or use $?
nmap dig
lynx 终端web浏览器 curl
sendmail mail
mutt #一款邮件客户端
wget
mtr 路由跟踪器iftop/iptrap 流量监控
- Cheat (tldr, bropages) - Unix命令用法备忘单
cheat 是一个Unix命令行小工具,用来查询一些常用命令的惯用法(我们都知道,man page阅读起来太累了,常常是跳到最后去看 examples,但并不是所有man pages里面都有examp ...
- 希望早几年知道的5个Unix命令
原文: http://spin.atomicobject.com/2013/09/09/5-unix-commands/ 希望早几年知道的5个Unix命令 使用*nix系统已经有一段时间了.但是还是有 ...
- 5个Unix命令
5个Unix命令 原文: http://spin.atomicobject.com/2013/09/09/5-unix-commands/ 希望早几年知道的5个Unix命令 使用*nix系统已经有一段 ...
- powershell 中常用cmd,unix命令(get-alias)
powershell 中常用cmd,unix命令(get-alias) Get-Content Alias cat -> Get-Content Alias gc -> Get-Conte ...
- unix 命令
ubuntu 命令窗口的打开 打开命令行窗口: Ctrl+Alt+T 在打开的命令行窗口中打开一个新的Tab: Ctrl+Shift+T 在同一窗口的Tab间切换: Ctrl+Page Up 或者 ...
- smbsh - 允许用UNIX命令访问NT文件系统
总览 smbsh 描述 此程序是Samba套件的一部分. smbsh允许你用UNIX命令诸如ls,egrep和rcp等来访问NT文件系统.必须用动态链接的shell以便使smbsh工作正常. 从命令提 ...
- 那些 Unix 命令替代品们「GitHub 热点速览 v.21.32」
作者:HelloGitHub-小鱼干 好用的 Unix 命令替代工具能让你事半功倍,例如,bat 便是个带着高亮特性的加强版 cat,就像你用了 oh my zsh 之后便会感受到它的强大.同样好用的 ...
- 《转》高级Unix命令
原文链接:http://coolshell.cn/articles/1044.html 在Unix操作中有太多太多的命令,这些命令的强大之处就是一个命令只干一件事,并把这件事干好.Do one thi ...
- 用Linux/Unix命令把十六进制转换成十进制(转)
那天写个脚本,需要把十六进制的数字转成十进制的打出来,发现不知道要怎么弄,搜一下,原来还是很简单的,比用C语言什么的容易多了,就一些现成的命令就解决了. 先列两种简单的方法: 1) echo 自己就能 ...
随机推荐
- 剑指Offer——简述堆和栈的区别
剑指Offer--简述堆和栈的区别 堆(Heap) Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建: Java虚拟机规范描述:所有的对象实例及数组都要在堆上分配: Java堆可以处于物理 ...
- 3.1、Android Studio在虚拟机中运行应用
Android虚拟机Monitor一个设备并且显示在你的开发计算机上.它可以允许你在不适用硬件设备的情况下开发.测试你的Android应用.虚拟机支持Android手机,Android Wear和平板 ...
- 01安卓像素 dpi 、 dip 、分辨率、屏幕尺寸、px、density 关系以及换算
一.基本概念 dip : Density independent pixels ,设备无关像素. dp :就是dip px : 像素 dpi :d ...
- UNIX网络编程——ICMP报文分析:端口不可达
ICMP的一个规则是,ICMP差错报文必须包括生成该差错报文的数据报IP首部(包含任何选项),还必须至少包括跟在该IP首部后面的前8个字节(包含源端口和目的端口).在我们的例子中,跟在IP首部后面的前 ...
- (NO.00004)iOS实现打砖块游戏(五):游戏场景类
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 创建游戏场景类头文件 在Xcode创建新GameScene类,继 ...
- Chapter 3 Protecting the Data(4):创建和使用应用程序角色
原文出处:http://blog.csdn.net/dba_huangzj/article/details/39927713,专题目录:http://blog.csdn.net/dba_huangzj ...
- SimpleDateFormat用法大全及易错分析
SimpleDateFormat 使用java语言处理日期相关操作,就不可避免的会使用到SimpleDateFormat.当然了,目前我们采用较多的是Calendar类,通过对之求相关的属性值即可得到 ...
- 【IOS 开发】Object - C 语法 之 类型转换
作者 : 万境绝尘 (octopus_truth@163.com) 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/3913507 ...
- 《java入门第一季》之面向对象(接口收尾)
通过案例的形式,结束接口部分. /* 猫狗案例,加入跳高的额外功能 分析:从具体到抽象 猫: 姓名,年龄 吃饭,睡觉 狗: 姓名,年龄 吃饭,睡觉 由于有共性功能,所以,我们抽取出一个父类: 动物: ...
- 【UML 建模】UML入门 之 交互图 -- 时序图 协作图详解
. 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/17927131 . 动态图概念 : 从静态图中抽取瞬间值 ...