我的linux学习笔记-近期整理的linux命令

1. some cmds
7za (^ 压缩和解压缩 *.7z 文件 ^)
alsamixer -c0 (^ 打开声音控制器 ^)
apropos keyword (^ 如果你想实现某种功能, 但是不知道该使用什么命令, 你可以试试apropos命令 ^)
arch (^ 返回机器的类型 ^)
ar ruv libcii.a f1.o f2.o f3.o (^ 创建静态库 ^)
awk: f=2; echo $f; echo "ab oa fo" | awk '{ print $'$f' }(^ 在awk的print选项中使用shell变量 ^)
awk '/ppp/ {print $1}(^ 表示得到ppp的进程id. ^)
bc: echo "ibase=16; C" | bc (^ ibase: 输入数的进制; 把C转换成十进制的(C必须是大写的) ^)
bc: echo "obase=2; 8" | bc (^ obase: 输出数的进制; 把8转换成二进制的 ^)
bc: echo "scale=4; sqrt(3)" | bc (^ 求平方根 ^)
bc: echo "scale=9; 332/100.0" | bc (^ 把求332/100.0, 保留9位小数 ^)
bc: echo "scale=9; s(1.7)" | bc -l (^ 求弧度为1.7的正弦s(), -l: 调用bc的算术库; 还有sqrt()等 ^)
bzcat filename.bz2  (^ 查看压缩文件内容 ^)
bzip2 -v -d minix_R3.1.5-r5612.iso.bz2 (^ 解压! ^)
bzip2 -z filename  (^ 压缩,加[-d]解压  ^)
cat file | xargs -n1 (^ 每行显示一个单词 ^)
cat -n (^ 在文件的每一行加上行号, 另见nl ^)
cat -s  (^ 只保留多个相邻空行的第一行 ^)
cdrecord -v -isosize speed=2 dev=cdrom in.iso (^ 把in.iso刻录到光盘中 ^)
cd - (^ 可进入上一次进入的目录 ^)
change -l longinname (^ 查看密码过期信息 ^)
chattr (^ 命令修改 ^)
chgrp (^ 改变档案群组 ^)
chkconfig --level 345 iptables on (^ 设置iptables在level:345下默认是自动启动的 ^)
chkconfig --list | grep telnet (^ 查看telnet是否已启动 ^)
chkconfig rsync on (^ 所有服务通过init启动有些是通过xinetd服务启动的, 如rsync启动rsync ^)
chkconfig (^ 检查某个服务状态, 包括各个级别0~6的状态 ^)
chmod 1770 xxx (^ 设置粘着位(Sticky bit) ^)
chmod -R 444 * (^ 改变所有子目录及文件的属性 ^)
chmod u+s /usr/bin/mentohust
cmp -s (^ 若两文件相同,则返回0,否则返回1. ^)
cmp (^ 比较2个文件 ^)
column: cat data_file | column -t (^ 把data_file按表格形式输出 ^)
compress filename  (^ 压缩文件,加[-d]解压:uncompress ^)
convert -delay 0 *.bmp -loop 0 animated.gif (^ 把当前目录下的所有bmp文件合成一个gif图片动画, 每帧间隔0ms, 重复播放 ^)
convert filename.bmp filename.jpg (^ bmp转jpg ^)
cpio -covB  > [file|device]   (^ 份份 ^)
cpio: find src_dir -depth | cpio -admvp des_dir (^ 把目录树src_dir复制到des_dir ^)
cpio -icduv < [file|device]   (^ 还原 ^)
cpio --make-directories -F in.cpio -i  (^ 解包cpio归档文件; -i:解包 ^)
Ctrl+Alt+BackSpace (^ 强行退出X ^)
Ctrl+Alt+Del (^ 重新启动 ^)
date -d "2004/06/04 20:30:00" +%s (^ 把指定的时间转换为秒数 ^)
date +%j (^ 今天是今年的第几天? ^)
date +%s (^ The number of seconds elapsed since 01/01/1970 ^)
date "+%Y-%m-%d %H:%M:%S %w(^ 输出为: 2012-04-30 11:42:53 1 ^)
date +%Y-%m-%d.%S (^ 输出为: 2010-05-31.44 ^)
dc: echo "11 16 o p" | dc (^ o: 设置输出的基数(数制), p: 打印栈顶 ^)
dc: echo "11 16 o p" | dc (^ 把11转换为16进制的(dc可以转换任意进制) ^)
dc: echo "111[p]s2[lip/dli%0=1dvsr]s12sid2%0=13sidvsr[dli%0=1lrli2+dsi!>.]ds.xd1<2" | dc(^ 求111的约数 ^)
dd: echo -n "hello world" | dd cbs=2 conv=unblock 2> /dev/null (^ conv=unblock: 每输出cbs个字符就换行一次 ^)
dd if=/dev/urandom of=$file bs=$BLOCKSIZE count=$flength (^ 带有 /dev/urandom 的 I/O 必须要有单位块尺寸 ^)
dd if=/dev/zero of=disk.img count=1024 bs=1024KB (^ 将zero写入自定义的disk.img文件1024次, 每次写入1024Kb; 也就是创建一个1GB的文件, 用zero文件进行填充.  ^)
dd if=file.in conv=ucase of=file.out 2>/dev/null (^ 拷贝file.in, 并转为大写 ^)
dd if=$filename conv=lcase > $filename.lppercase (^ 将一个文件转换为小写 ^)
dd if=$input_file of=$output_file bs=1 skip=$((n-1)) count=$((p-n+1)) 2> /dev/null (^ 把位置n到p的字符提取出来 ^)
dd: keys=$(dd bs=1 count=$keypresses 2> /dev/null) (^ 记录所下按的键于keys中 ^)
Debugfs (^ QQQQQ http://en.wikipedia.org/wiki/Debugfs ^)
deplate -m utf8 hello.viki (^ 编译含有中文的viki文件 ^)
deplate -m zh-cn-autospace hello.viki
diff -urN linux/ my_linux/ >mypatch.diff
diff (^ 比较2个文件 ^)
dmesg (^ 显示开机自检的内容命令 ^)
dos2unix -k -n hosts.dos hosts.linux (^ 转换为unix格式 ^)
du -sh -X ./exclude.list (^ 不计算...中匹配的文件.(*.zip ...) ^)
echo -n "fff(^ -n: 不换行 ^)
echo | tr '\012' '\001' (^ 产生 Ctrl+A ^)
edquota -u redhat (^ 进VI编缉用户配额编缉用户可用的字节数, 软性的, 硬性的, 文件数, 软件性的, 硬性的 ^)
egrep -o "^[[:digit:]]+" /var/run/ntpd.pid  (^ 从 /var/run/ntpd.pid 文件中读取出进程PID. -o: 只输出匹配内容而不是整行 ^)
eject -t (^ 收回 ^)
eject (^ 弹出光盘 ^)
/etc/init.d/network restart (^ 重起网卡 ^)
/etc/rc.d/init.d/httpd start (^ 启动https ^)
eval "cat $file(^ 执行""里的命令 ^)
fc n (^ n: 历史命令的序号,这将打开一个编辑窗口,修改这条命令,以满足需要.当退出时,该命令就会执行 ^)
file filename (^ 显示文件的类型及格式等 ^)
file libc-2.10.2.so (^ 确认文件系统要求的最低内核 ^)
find / -amin -10  (^ 查找在系统中最后10分钟访问的文件 ^)
find / -atime -2  (^ 查找在系统中最后48小时访问的文件 ^)
find -depth (^ 先查找出目录下的文件, 后是目录本身(深度优先) ^)
find / -empty  (^ 查找在系统中为空的文件或者文件夹 ^)
find . -exec chown scr:scr {} \; (^ 改变当前目录下的所有子目录包括文件的属主 ^)
find -fprint0 file (^ 打印文件完整文件名包括空的文件 ^)
find -fprintf file (^ format打印文件格式 ^)
find -fprint file (^ 打印文件完整文件名 ^)
find .  | grep svn | xargs rm -r (^ 删除当前目录下的路径名含有"svn"的文件或目录 ^)
find / -group cat  (^ 查找在系统中属于groupcat的文件 ^)
find . -iname "*abcd*(^ 不区分大小写 ^)
find -ls (^ 打印同种文件格式的文件. ^)
find . -maxdepth 2 -name fred  (^ 查找目录的最大深度为2  ^)
find / -mmin -5  (^ 查找在系统中最后5分钟里修改过的文件 ^)
find /mnt/cdrom -name *.mp3 -print > cd.play.list (^ 快速建立MP3播放列表,然后使用xmms或x11amp就能进行播放了 ^)
find / -mtime -1 (^ 查找在系统中最后24小时里修改过的文件 ^)
find . -name "* *" -exec rm -f {} \; (^ 删除文件名中以任何方式包含空白的文件 ^)
find / -name "httpd.conf" -ls (^ 查找到httpd.conf文件后立即在屏幕上显示httpd.conf文件信息 ^)
find . -name '*[+{;"\\=?~()<>&*|$ ]*'   // (^ 查找文件名中包含有 + { ; " \ = ? ~ ( ) < > & * | $ space 这些字符的文件 ^)
find / -nouser (^ 查找在系统中属于作废用户的文件 ^)
find -ok command; (^ 给用户命令执行操作, 根据用户的Y确认输入执行 ^)
find -printf format (^ 打印文件格式 ^)
find /tmp -size +10000000c -and -mtime +2 (^ 在/tmp目录中查找大于100000000字节并且在48小时内修改的某个文件 ^)
find /tmp ! -user panda (^ 在/tmp目录中查找所有不属于panda的文件 ^)
find . -type d -exec chmod 755 {} \;
find . -type f -a \( -name *.txt -o -name install \) (^ -a 和 -o 参数的使用 ^)
find . -type f -exec chmod 644 {} \;
find . -type f -exec grep "the string you want find..." {} \; -print (^ 查找含特定字符串的文件 ^)
find . -type f -exec gvim --servername GVIM --remote-tab {} \; (^ 用gvim打开find找到的第一个文件 ^)
find . -type f -exec gvim --servername GVIM --remote-tab {} + (^ 用gvim打开find找到的所有文件于不同的标签页 ^)
find . -type f -exec vim {} \; (^ 用vim打开find的结果, 但每次只打开一个文件 ^)
find . -type f -exec vim {} + (^ 用vim打开find的结果, 若有多个文件则放入buffer中 ^)
find . -type f -name *.vim  |xargs cat | wc -l (^ 统计当前目录下所有.vim文件的行数 ^)
find . -type f | xargs chmod -x
find . -type f | xargs grep '?????'
find . -type f | xargs grep 'NAL(^ 查找有NAL内容的文件 ^)
find -type l -exec ls -l --color {} \; (^ 查找当前目录下的所有软连接 ^)
find / -user fred -or -user george
find / -user user-id (^ 查找在系统中属于FRED这个用户的文件 ^)
finger -l root
finger (^ 查看当前所有登录用户所使用的终端 ^)
fmt: echo file | fmt -w 80 (^ fmt -w 80 输出设为80列宽; 等价于: fold - -s -w ^)
fold: fold - -s -w (^ 见fmt ^)
for a in `seq 80`  // 与  " for a in 1 2 3 4 5 ... 80 "相同  (少敲了好多字!). (12_49)
free (^ 查看内存使用情况 ^)
fsck.ext3 /dev/sdb1 (^ 检查文件系统数据完整性的工具 ^)
fsck.ext3 -y /dev/sdb1 (^ 自动修复错误 ^)
fsck -t ext2 /dev/sdb1 (^ 检查文件系统数据完整性的工具 ^)
fuser 23/tcp (^ 同: fuser -n tcp 23 ^)
fuser -l (^ 列出所有的signal的对应的名称 ^)
fuser -m /mnt/share (^ -m: 根据挂载目录找出挂载进程的PID ^)
fuser -n tcp 23 (^ 查看端口号为23的tcp连接的进程ID号 ^)
fuser telnet/tcp (^ 同: fuser -n tcp 23 ^)
fuser -un tcp 23 (^ -u: 同时显示其用户名 ^)
getconf PAGESIZE (^ 查看一block的大小 ^)
git branch -d hotfix (^ 删除分支 ^)
git checkout -b branch1 (^ 新建并切换到该分支 ^)
git checkout c59d73e4e12ffcccdaa9a0f8ca86ab5ad1cd91b3 -- README (^ 恢复之前删除的文件: README, 前提是 README 在版本c59...b3时没被删除 ^)
git checkout master (^ 切换到 master 分支 ^)
git checkout --track -b foo origin/foo (^ 有个远程分支是foo, 在本地checkout它 ^)
git config --global core.editor emacs
git config --global user.email [email protected]
git config --global user.name "John Doe(^ "--global"参数使得保存在 ~/.gitconfig ^)
git config --list (^ 要检查已有的配置信息 ^)
git config --system user.name "John Doe(^ "--system"参数使得保存在 /etc/gitconfig ^)
git config user.name "John Doe(^ "--global"参数使得保存在工作目录: .git/config ^)
git diff 1c09 94da (^ 比较两个版本的差异 ^)
git log --stat | sed '1,3d' | sed '/Author: /q' | sed '$d' | sed '$d(^ 只输出最近一次提交的历史 ^)
git reset --hard HEAD~1 (^ 取消最后一次提交 ^)
git status (^ 检查当前文件状态 ^)
gnome-screenshot -a (^ 屏幕抓图 ^)
gnome-terminal --geometry=130x38 (^ 启动终端的尺寸大小 ^)
gnome-terminal --help (^  ^)
grep -A1 -B1 regexp flie (^ 打印匹配regexp的行和前后各一行 ^)
grep -Fw (^ 固定字符串; 整个单词 ^)
grep i "name(^ 不区分大小写 ^)
grep '.'  (^ 删除文件中的所有空行 ^)
gvim -U NONE (^ 启动gvim时, 跳过任何启动初始化脚本 ^)
gzexe gawk (^ 可以使用gzexe压缩可执行文件, 压缩后的可执行文件仍然可以直接执行 ^)
gzip filename   (^ 压缩,加[-d]解压  ^)
head -1 /proc/asound/card0/codec#0 (^ 确认你的声卡型号 ^)
head -c4 /dev/urandom | od -N4 -tu4 | sed -ne '1s/.* //p(^ 产生10个随机数 ^)
history -c (^ 清除所有的命令历史 ^)
hostname
idesk (^ QQQQQ http://idesk.sourceforge.net/ ^)
id (^ 显示用户(组)ID ^)
ifconfig eth0 down (^ 关闭网卡设备 ^)
ifconfig eth0 hw ether 00:1E:90:13:e0:25
ifconfig eth0 hw ether 00:1E:90:13:e0:7E (^ 修改mac地址. 修改前须: service network stop ^)
ifconfig eth0 hw ether MAC地址 (^ 修改MAC地址 ^)
ifconfig eth0 新ip (^ 永久更改ip  ^)
info tcsh -o tcsh.txt -s (^ 把info的信息存为文本文件 ^)
init 1 (^ 进入单用户环境 ^)
init 6 (^ 重新启动 ^)
kill -2 7873 (^ 给进程7873发送SIGINT信号 ^)
kudzu (^ 用来检测硬件 ^)
lastb (^ 显示最后一个登录不成功的登录尝试 ^)
last (^ 显示最后一个登录到系统的用户 ^)
last (^ 显示最近登陆到系统的用户与其相关信息 ^)
lde-i386 (^ 磁盘读写工具 http://lde.sourceforge.net/ ^)
ln: rm dir (^ 删除目录软链接时, 后面不能带"/"; 即: rm dir/ 是错的!!! ^)
locale -a (^ 查看系统对语言的支持情况, 看已经安装的字符集 ^)
locale (^ 显示系统语言环境 ^)
locate filename (^ 快速查找文件,要经常用updatedb命令更新数据库,可以在crontab中定时设置 ^)
logger -f /var/log/myapp.log (^ 把/var/log/myapp.log文件中的信息记录到syslog中 ^)
logger -s "Hard disk full(^ 把消息发送到屏幕(标准错误) ^)
logger System rebooted (^ 向syslog的系统日志文件写入一行信息:"System rebooted" ^)
logger -t full -s "Hard disk full(^ -t: 设置tag为full ^)
log: tail -f /var/log/messages  (^ 察看实时的日志 ^)
look word (^ 检查列表中单词word的正确性 ^)
lsattr (^ 命令列出文件属性 ^)
ls -i
ls -l --block-size=1 (^ 以字节显示文件大小 ^)
ls -l -c (^ 显示 ctime: last-time of i-node status, (chmod, chown) ^)
ls -lRF (^ "F" 选项将标记出文件类型 <比如: 目录是以 /结尾, 而可执行文件以 *结尾> ^)
ls -l --time-style=long-iso
ls -l -u (^ 显示 atime: last-access time of file data, (read) ^)
ls -l    (^ 显示 mtime: last-modification time of file data, (write) ^)
lsmod |grep mii (^ 查看内核是否已加载了网卡模块 ^)
lsof -i :22 (^ 查出22端口现在运行什么程序 ^)
lspci | grep Audio (^ 查看声卡信息 ^)
lspci | grep net (^ 查看网卡信息 ^)
lspci -n | grep 14e4 (^ find the Device ID's of Broadcom cards ^)
lspci (^ 查看物理信息, /proc/cpuinfo (cpu信息) ^)
ls . | xargs -i -t cp ./{} dir (^ 把当前目录下的文件拷贝到dir目录中; -i 是"替换字符串"选项.^)
mail -s (^ -s: subject ^)
man ls | col -b > ls.txt (^ 把man的信息存为文本文件 ^)
mcookie (^ 产生126字节的随机16进制值(magic cookie) ^)
mencoder -ovc lavc basket.rm -oac mp3lame -o basket.avi (^ *.rm 转为 *.avi ^)
mesg n (^ 禁止别人把信息显示在我的终端 ^)
mesg y (^ 允许别人把信息显示在我的终端 ^)
mkfs.ext2 /dev/sdb4 (^ 格式化成ext2 ^)
mkfs.ext2 -N 5000000 -b 1024 -I 128 disk.img (^ 格式化成ext2分区,制定inode大小为128byte,inode数量为5000000,块大小为1024byte ^)
mkfs.ext3 -b 4096 -i 8192 -m 5 /dev/sdb4 (^ -b 数据块大小,-i inode 节点表示的字节数或数据块大小,-

你可能感兴趣的:(linux)