三种参数类型



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 加密解密文件
cat tac
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
ack 类似于grep
ed 简洁字符编辑器
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
at 安排执行一次性任务
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代码函数调用树
splint c的lint





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 流量监控

unix命令自我总结的更多相关文章

  1. Cheat (tldr, bropages) - Unix命令用法备忘单

    cheat 是一个Unix命令行小工具,用来查询一些常用命令的惯用法(我们都知道,man page阅读起来太累了,常常是跳到最后去看 examples,但并不是所有man pages里面都有examp ...

  2. 希望早几年知道的5个Unix命令

    原文: http://spin.atomicobject.com/2013/09/09/5-unix-commands/ 希望早几年知道的5个Unix命令 使用*nix系统已经有一段时间了.但是还是有 ...

  3. 5个Unix命令

    5个Unix命令 原文: http://spin.atomicobject.com/2013/09/09/5-unix-commands/ 希望早几年知道的5个Unix命令 使用*nix系统已经有一段 ...

  4. powershell 中常用cmd,unix命令(get-alias)

    powershell 中常用cmd,unix命令(get-alias) Get-Content Alias cat -> Get-Content Alias gc -> Get-Conte ...

  5. unix 命令

    ubuntu  命令窗口的打开 打开命令行窗口: Ctrl+Alt+T 在打开的命令行窗口中打开一个新的Tab: Ctrl+Shift+T 在同一窗口的Tab间切换: Ctrl+Page Up 或者 ...

  6. smbsh - 允许用UNIX命令访问NT文件系统

    总览 smbsh 描述 此程序是Samba套件的一部分. smbsh允许你用UNIX命令诸如ls,egrep和rcp等来访问NT文件系统.必须用动态链接的shell以便使smbsh工作正常. 从命令提 ...

  7. 那些 Unix 命令替代品们「GitHub 热点速览 v.21.32」

    作者:HelloGitHub-小鱼干 好用的 Unix 命令替代工具能让你事半功倍,例如,bat 便是个带着高亮特性的加强版 cat,就像你用了 oh my zsh 之后便会感受到它的强大.同样好用的 ...

  8. 《转》高级Unix命令

    原文链接:http://coolshell.cn/articles/1044.html 在Unix操作中有太多太多的命令,这些命令的强大之处就是一个命令只干一件事,并把这件事干好.Do one thi ...

  9. 用Linux/Unix命令把十六进制转换成十进制(转)

    那天写个脚本,需要把十六进制的数字转成十进制的打出来,发现不知道要怎么弄,搜一下,原来还是很简单的,比用C语言什么的容易多了,就一些现成的命令就解决了. 先列两种简单的方法: 1) echo 自己就能 ...

随机推荐

  1. 【java虚拟机序列】java中的垃圾回收与内存分配策略

    在[java虚拟机系列]java虚拟机系列之JVM总述中我们已经详细讲解过java中的内存模型,了解了关于JVM中内存管理的基本知识,接下来本博客将带领大家了解java中的垃圾回收与内存分配策略. 垃 ...

  2. iOS视图控制器初始化问题

    最近在群里见不少人 问到用视图控制器的alloc /init方法初始化的时候,出来的是黑色的空界面.之前我也遇到过,所以在这里总结下. 我们在项目中肯定都会用到自定义的ViewController,而 ...

  3. android分包方案

    当一个app的功能越来越复杂,代码量越来越多,也许有一天便会突然遇到下列现象: 1. 生成的apk在2.3以前的机器无法安装,提示INSTALL_FAILED_DEXOPT 2. 方法数量过多,编译时 ...

  4. 使用JavaScript在Canvas上画出一片星空

    随着Html5的迅猛发展,画布也变得越来越重要.下面我就写一个关于在canvas上画出一片星空的简单的代码的示例. 理论基础 初始化一个canvas,获得一个用于绘制图形的上下文环境context.并 ...

  5. 【Android 应用开发】 Application 使用分析

    博客地址 : http://blog.csdn.net/shulianghan/article/details/40737419 代码下载 : Android 应用 Application 经典用法; ...

  6. Linux信号实践(2) --信号分类

    信号分类 不可靠信号 Linux信号机制基本上是从UNIX系统中继承过来的.早期UNIX系统中的信号机制比较简单和原始,后来在实践中暴露出一些问题,它的主要问题是: 1.进程每次处理信号后,就将对信号 ...

  7. Java将网络地址对应的图片转成本地的图片

     只知道浏览器使用的是HTTP协议,那么如何将网络资源使用JavaHTTP下载下来呢! 这只是一个非常简单的小示例,只是不想每次碰到关于此方面的内容忘了就无从下手! 示例创建HttpURLConn ...

  8. Android 仿百合网超火爆社交app首页滑动效果

    探探,百合网等神器的首页有一个相册加载个控件,通过左滑右滑加载新的照片,同时左滑丢弃这个照片,右滑则表明对这个照片感兴趣. 这个效果是怎么实现的呢? 1,Android3.0以后控件中增加了setTr ...

  9. Java应用程序使用系统托盘资源

    要想使自己开发的Java SE项目运行在自己的电脑系统托盘上,这并不是什么难事,总共需要如下几步即可: 1.线判断一下,系统托盘是否可用,否则接下来的程序将不可避免的报出异常咯 2.获得一个Syste ...

  10. 【一天一道LeetCode】#53. Maximum Subarray

    一天一道LeetCode系列 (一)题目 Find the contiguous subarray within an array (containing at least one number) w ...