Linux常用命令笔记

文件命令

cd - 切换为之前目录
wc -l -w file
cmd --help
apropos keyword
apropos cpu >
type foo    检查命令类型,是否已被占用
alias foo='cd;ll;cd -'
foo

ll /etc/passwd > pw.txt (输出重定向时,>自动创建不存在的文件)
> file (删除一个文件)

cmd >> file 文件尾部追加,不存在则创建之

0--标准输入文件
1--标准输出文件
2--标准错误文件
cmd 2> err.txt
cmd &> outerr.txt 
cmd 2> /dev/null

cat f1 f2 > f3            文件合并
$ cat           (等待键盘输入)
$ cat -ns file      删除空行,且对行编号
ctrl-D      (文件触底,end of file)

cmd | tee file | grep pattern

echo a{A{1..2},B{3..4}}
aA1 aA2 aB3 aB4

mkdir {2015..2016}-0{1..9} 
2015-01 
2015-02
2015-03

ls -l $(which cp)
ls -l `which cp` 反引号` 等同于 $,作为命令替换
ls -l "my test.txt" 双引号""将特殊字符($ / `除外)视为普通字符
echo "$(cal) "
echo '$(cal)' 单引号‘’抑制所有扩展
$(cal)

echo "money \$:5" 反斜杠阻止双引号内特殊字符($ ! & 空格等)扩展

命令行键盘编辑技巧

光标移动

ctrl-A 光标到行首
ctrl-E 光标到行尾
CTRL-F 前移一个字符
CTRL-B 后移一个字符
ALT-F 前移一个字
ALT-B 后移一个字

文本编辑

ctrl-D 删除字符
ctrl-T 前字符替换
Alt-U 大写转换

剪切复制

ctrl-K 剪切光标到行尾
ctrl-U 剪切光标到行首
ALT-D 剪切光标到词尾
ALT-Backspace 剪切光标到词首
ctrl-Y 复制kill-ring缓冲区到光标

Tab命令自动补齐
ls l(Tab)---ls log

!88 --执行history中第88行命令
!! 执行history最后一行命令

id
cat /etc/passwd
cat /etc/group

$ su -c 'command'
sudo与su区别:
执行有限条指令;
sudo无需输入root密码,只输用户密码;
不启动新shell环境,不加载另一个用户环境

进程

sleep N?
ps  只显示当前会话终端进程
ps x  显示所有进程
sort命令内部排序机制
ps aux
gedit &   后台运行进程,ctrl-c无法中断
jobs        查看终端所有作业
fg %jobid       进程回到前台运行
bg %jobid       进程回到后台

ctrl-z  暂停前台进程
kill [-signal] PID…
kill -SIGHUB/1 PID/%jobid      前台程序终止,后台进程重新初始化
kill -INT PID/%jobid           中断信号,终止程序
killall [-u user] [-signal] name…       发送信号给多个进程
pstree                         进程树
vmstat 5                       每5s输出资源使用快照,mem,swap,IO
free -m
du
tail -f /var/log/messages                    实时检测系统的好方法

存储

mount
umount
du -sh
df
uptime

变量显示

set    显示环境变量/shell变量
printenv   USER  仅显示环境变量USER
echo $USER
PATH=$PATH:$HOME/bin
export PATH             保证shell子进程能使用PATH变量
gedit file

VIM命令

            shift ^     本行开头
            shift $         本行末尾
            W       下一个单词处
            B       上一个单词处
        number-shift-G  移到第number行
            shift G         至文件最后一行

查找替换

:%s/word1/word2/gc 全局替换,%指代^~$
复制/粘贴/删除

编辑模式—插入

外部命令模式

        :  n            切换到下一文件
        :N                  切换到上一文件

软件安装

RPM安装

rpm -qa  package    列出所有安装软件   q-query  a-all
rpm -q   packname     查询pack是否安装

源码安装

wget  src
tar zxvf src.tar.gz
./configure
make
#make install

网络

ping baidu.com
netstat -ie             显示网卡信息
IP地址?
子网掩码?

文件查找

locate   fname          以文件名查找,无法查最新
find ~ [-print]     |  wc -l             计算行数
find ~ -type f  -name   “*.jpg”   -size +1M  |    wc   -l
find ~ \(-type f -not -perm 0600 \)  -or \( -type d -not -perm 0700 \)          and默认,or显式
find ~ -type f  -name   “*.jpg”    -print/delete/ls
find ~  -type f -name   “*.jpg”       -exec   ls -l   '{}'   ';'          每搜到一个执行一次命令
find ~  -type f -name   “*.jpg”       -exec   ls -l   '{}'   '+'          结果集只执行一次命令
find ~  -type f -name   “*.jpg”      -ok   ls -l   '{}'   ';'       {}代表当前路径,-ok交互式执行自定义操作
find ~  -type f -name   “*.jpg”  -print  |  xargs   ls -l       xargs处理stdin信息并转化为命令输入参数表
find ~  -type f -name   “*.jpg”  -print0  |  xargs  --null  ls -l        以空字符分隔参数

归档备份

压缩解压

gzip fname
gzip -tv f.gz     检查完整性/显示详细信息
gunzip fname
zcat f.gz | less        查看压缩文件内容
bzip2同gzip      高压缩低速度
linux中gzip>bzip2>zip(用于与windows交换文件)

磁带归档命令tar

tar mode[options] pathname…          以 相对路径 处理处理 文件名路径
mode:
c   create
x   extract
r   apppend
t   list the contents of an archive
tar cf file.tar  path
tar tf file.tar
tar tvf file.tar
tar zxvf  file.tar

find ~ -name 'file-a'  |  -exec tar rf file.tar '{}' '+'

find ~ -name 'file-A' | tar czf play.tgz -T -           
(1) -T  tar命令从文件(此处为stdout文件)中读取文件路径名列表,而不是从命令行
(1) -  代表标准输入输出stdin/stdout文件(这里是stdout文件,即屏幕所看到的内容)
(2) find默认action为-print
(3) find play -name 'file-A' | tar czf play.tgz -T file.list

cat file.list
./.profile
./.bashrc
./dbootstrap_settings
./usr.include.txt
./.viminfo

Regular Expresstion

支持命令find locate vim less

grep [options]  regex   file…            #查找匹配行
-i      忽略大小写
-v          输出不匹配行
-h      不输出文件名,只输出匹配内容

元字符

    1. BRE基本正则表达式元字符:( )^ $ . * (\为元字符)

  • 2.ERE扩展正则表达式元字符: +-*\ ()[]{} ^$ .| ? (' '括起避免扩展,\为文字字符)

grep -h '^zip' file
zip1
zip2

grep -h 'zip$' file
1zip
2zip

grep -h '^zip$' file
zip

grep -Eh '^(bz|gz|zip)'   file
匹配电话号码(nnn)nnn-nnnn或nnn nnn-nnnn表达式:
grep -E ===> egrep              扩展REG
egrep  '^\(?[0-9]{3}\)?  [0-9]{3}-[0-9]{4}$'      phone.txt                         #(,)出现0或1次

find ~ -regex '.[^-_./0-9a-zA-Z].*'                     find之test选项支持regex
locate --regex  'bin(bz|gz|zip)'  
zgrep -El 'regex | regular expression' .                  zgrep对压缩文件进行搜索  

文本处理

排序

sort    -t   ';'    -k   3.7nbr    -k   4.1nbr  file     |  uniq | head
t为指定分割符;
-k 3.7nbr       第3个字段第7字符为关键字,忽略开头空白(b),逆序(r),数字排序(n)  
uniq只对已排序文件有效
^I – 制表符Tab

截断

cat -A
cut -d ':'  -f 1  /etc/passwd | head
paste data.txt version.txt

比较

cat f1 f2       逐行比较已排序文件f1,f2
diff -c   f1  f2    上下文格式输出,+多,-少
 
diff -u f1 f2

diff -Naur fold fnew > diff_file
patch < diff_file

-N, --new-file:treat absent files as empty
-a:  treat all files as text
-r : recursively compare any subdirectories found

替换删除tr

echo “i love linux” | tr a-z A-Z        替换
tr -d '\r' < dos_file > unix_file       删除dos文件回车符\r
sed 's/old/new/g   
sed -n '1,5p' file
nl text       对文本行编号
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容