三种参数类型
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 自己就能 ...
随机推荐
- 关于React Native 安卓首屏白屏优化
问题描述 在android中,当点击某个rn模块的入口按钮,弹出rn的activity到rn的页面展现出来的过程中,会有很明显的白屏现象,不同的机型不同(cpu好的白屏时间短),大概1s到2s的时间. ...
- Servlet之cookie处理
Cookies 通常设置在 HTTP 头信息中(虽然JavaScript 也可以直接在浏览器上设置一个 Cookie).设置 Cookie 的 Servlet 会发送如下的头信息: HTTP/1.1 ...
- mysql数据库连接池使用(三)数据库元数据信息反射数据库获取数据库信息
1.1. mysql数据库连接池使用(三)数据库元数据信息反射数据库获取数据库信息 有时候我们想要获取到数据库的基本信息,当前程序连接的那个数据库,数据库的版本信息,数据库中有哪些表,表中都有什么字段 ...
- 05 利用Appliction 传值Activity
步骤一:新建一个类继承Application必须是public class 不然直接奔溃 步骤二:在清单文件AndroidManifest.xml的application添加name属性 值为com. ...
- scala学习笔记3(trait)
// trait 类似于 Java8 中可以带 default method 的接口. // trait 中可以带有实现的方法,也可以带有抽象的方法,使用 trait 的方式是 with 而混入类中 ...
- sql的简单提高效率方法
少用in操作(效率极差),尽量用表关联代替 select要指定列,不要*(*会读入所有数据,而指定列则只提取涉及的列,减少io) 尽量有where(减少读取量),where操作列尽量有索引(加快查询) ...
- XMPP即时通讯资料记录
几天开始研究XMPP即时通讯的技术,来实现移动应用的计时聊天功能.记录下参考的博客地址,还挺详细的. http://blog.csdn.net/fhbystudy/article/details/16 ...
- Unity UGUI基础之Image
UGUI的Image等价于NGUI的Sprite组件,用于显示图片. 一.Image组件: Source Image(图像源):纹理格式为Sprite(2D and UI)的图片资源(导入图片后选择T ...
- android的PackageManagerService详解
PackageManagerService主要是一个包的管理服务,在开机的时候会解析以前保存的一些安装包的相关数据,android运行过程中新安装的apk也会保存到PackageManagerServ ...
- ROS_Kinetic_12 ROS程序基础Eclipse_C++(三)usb camera
ROS_Kinetic_12 ROS程序基础Eclipse_C++(三)usb camera 软件包下载地址:https://github.com/bosch-ros-pkg/usb_cam 下载后, ...