三种参数类型
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面试题3 二维数组中的查找(c)
剑指offer面试题三:
- FFmpeg源代码简单分析:av_find_decoder()和av_find_encoder()
===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结构图 - 解码 F ...
- javascript之正则表达式
创建正则表达式的两种方法 显式: new RegExp("pattern"[,"flags"]); 例 var regex = new ("abc&q ...
- String&StringBuilder&StringBuffer总结
一.String的JVM内存分配测试与分析 String a="a"; String b="b"; String c="ab&qu ...
- UNIX网络编程——设置套接字超时
在涉及套接字的I/O操作上设置超时的方法有以下3种: 调用alarm,它在指定超时期时产生SIGALRM信号.这个方法涉及信号处理,而信号处理在不同的实现上存在差异,而且可能干扰进程中现有的alarm ...
- vs 删除行尾空格
vs 删除行尾空格 vs2010:Enter: Ctrl+H Find what: :b*$ Replace with: [Empty] Look in: Current Document Find ...
- ROS(indigo)使用Qt Creator Plug in即ros_qtc_plugin
更为详细版本请参考: http://blog.csdn.net/zhangrelay/article/details/52214411 结合看更为具体. 首先,先上原版参考: 1 http://wik ...
- Gradle 笔记——Java构建入门
Gradle是一个通用的构建工具,通过它的构建脚本你可以构建任何你想要实现的东西,不过前提是你需要先写好构建脚本的代码.而大部分的项目,它们的构建流程基本是一样的,我们不必为每一个工程都编写它的构建代 ...
- 监视锁——Java同步的基本思想
翻译人员: 铁锚翻译时间: 2013年11月13日原文链接: Monitors – The Basic Idea of Java synchronization如果你上过操作系统课程,你就知道监视锁( ...
- OC——第五天NSSArray /NSDicti…
1.oc中常用的集合(容器)有: 1.NSArry 数组:2.NSDicitionary 字典:3.NSSet 集(不常用) 数组:NSArry 继承自NSObject ,不可变的数组,用于管理一系列 ...