Linux常用命令

Shell作为操作系统的外壳,为用户提供了使用操作系统的接口。Shell和核心是命令行提示符,它允许输入文本命令,然后解释命令,并在内核执行。

Linux系统上,通常有几种shell,不同的shell有不同的特性,所有的Linux发行版默认的Shell都是bash shell(Bourne again shell)。

基本的bash shell 命令

!!回车,唤出刚执行过的命令执行

pwd

print work directory 打印工作目录

clear

清屏

history

历史命令

scp

scp -r /opt/web/qf-web root@172.16.11.118:/opt/web/ ,将本机qf-web复制到118的/opt/web/目录下

免密传输,在src生成公钥ssh-keygen -t rsa(可能已经存在),在当前用户的home目录.ssh隐藏文件夹下,将id_rsa.pub公钥

加到dest用户home目录下的.ssh下的authorized_keys里。

-------------------搜索------------------------

grep

Global Regular Expression Print

grep -c Exception aaa.log ,输出匹配行的计数

-n:显示匹配行及行号

-v:显示不包含匹配文本的所有行。

-e: grep -e t -e f file1 ,指定多个匹配模式

pattern正则表达式主要参数:

\: 忽略正则表达式中特殊字符的原有含义。

^:匹配正则表达式的开始行。

$: 匹配正则表达式的结束行。

\<:从匹配正则表达式的行开始。

\>:到匹配正则表达式的行结束。

[ ]:单个字符,如[A]即A符合要求 。

[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。

.:所有的单个字符。

* :有字符,长度可以为0。

find

格式:find  path  -option  [  -print ]  [ -exec  -ok  command ]  {} \;

-name filename #查找名为filename的文件,正则""

-mtime    -n +n      #按文件更改时间来查找文件,-n指n天以内,+n指n天以前

-atime    -n +n      #按文件访问时间来查找文件,-n指n天以内,+n指n天以前

-ctime    -n +n      #按文件创建时间来查找文件,-n指n天以内,+n指n天以前

-perm                #按执行权限来查找

find  . -name "*sh"  | xargs  chmod  a+x

find . -name .svn | xargs rm -rf

$find . -perm -007 -exec ls -l {} \;  #查所有用户都可读写执行的文件

-------------------------遍历目录-------------------------------

cd

change directory 切换目录(制表符自动补全功能)

cd .. ,返回上一级目录(单点符.表示当前目录,双点符..表示父目录)

cd / ,返回根目录

cd ~ 或cd ,返回到用户home目录

cd - ,切换当前目录到上一个目录

cd /opt/v* ,从当前目录切换到/etc/v_ _(其他的匹配还可以?)

tab双击,提示目录下有哪些文件

cd /opt && ls ,切换到/opt目录并列出目录下的文件

ls/ll

ls -l long长清单

ls -lh 1024为单位

ls -lS 文件大小排序

ls -lt 最后修改时间排序

ls -l --block-size=M  (K,M,G,T)

ls -a all所有文件(隐藏文件)

ls -p 目录文件加斜线

ls -r 翻转顺序

ls -F 文件末尾夹/

-------------------------处理文件-------------------------------

touch

创建空文件

cp

copy 复制文件或目录

-f:强行复制文件或目录,不论目标文件或目录是否已存在;

-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;

-b:覆盖已存在的文件目标前将目标文件备份

cp /opt/t1 ../t2 . ,t1和t2文件复制到当前文件夹下

mv

move 移动,重命名

mv demo1.txt demo2.txt ,重命名为demo2.txt

mv demo1 demo2 ,demo2存在,移动到demo2下,不存在重命名为demo2

mv -b src desc ,如果dest存在,dest会备份为dest~,src重命名为dest

mv -u old.txt new.txt, new.txt的修改时间比old.txt的修改时间新,覆盖会失败

rm

remove 移除

-i 删除前逐一询问确认

-------------------------处理目录-------------------------------

mkdir

make directory 创建文件夹

mkdir ubuntu redhat slackware ,创建多个文件夹

mkdir -p letter/important ,递归的创建文件夹

rmdir

remove directory 删除空文件夹

----------------------查看全部文件内容---------------------------

cat

concatenate 查看整个文件内容

cat -n test1 给所有的行加上行号,-b

cat f1.txt>f2.txt ,文件f1内容写入到f2中,>>,不存则创建

more

分页查看,空格翻页,b键回退

less

less is more,more命令的升级版。

d后翻半页,u前翻半页

b前翻一页,空格后翻一页

/ ?搜索

nl

----------------------查看部分文件内容-------------------------

tail

显示文件最后几行内容

tail -n 100 a.txt 显示默认100行

tail -f a.log 显示a.log文件实时追加内容

head

显示文件开头几行内容

head -n a.txt

----------------------探查进程---------------------------------

ps

process status

ps -ef ,显示所有进程完整信息

top

第一行,当前系统时间,系统运行时间,几个用户登陆系统,1,5,15分钟负载情况

第二行,进程状态

第三行,us — 用户空间占用CPU的百分比。

sy — 内核空间占用CPU的百分比。

ni — 改变过优先级的进程占用CPU的百分比

id — 空闲CPU百分比

wa — IO等待占用CPU的百分比

hi — 硬中断(Hardware IRQ)占用CPU的百分比

si — 软中断(Software Interrupts)占用CPU的百分比

第四行,内存状态

第七行:PID — 进程id

USER — 进程所有者

PR — 进程优先级

NI — nice值。负值表示高优先级,正值表示低优先级

VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

SHR — 共享内存大小,单位kb

S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程

%CPU — 上次更新到现在的CPU时间占用百分比

%MEM — 进程使用的物理内存百分比

TIME+ — 进程使用的CPU时间总计,单位1/100秒

COMMAND — 进程名称(命令名/命令行)

kill

-l 列出所有可选信号

kill pid -9, 杀死进程

3 QUIT 结束运行

9 KILL 无条件终止

killall

killall pname

killall http*

--------------------检测内存---------------------

free

-k,-m,-g

-------------------检测磁盘空间------------------

df

disk free 设备上还有多少磁盘空间

df -h 用户易读的形式显示

du

disk usage ,某个特定目录的磁盘使用情况

du -h

du -sh ,显示统计

----------------------权限----------------------

chmod

chmod options mode file ,mode参数可以使用八进制模式或者符号模式

[ugoa][[+-=][rwxXstugo]] u 用户、g 组、o 其他,a 所有

chown

-----------------------文件处理------------------------

sort

排序

sort -t ':' -k 3 -n /etc/passwd 根据用户ID数值排序,-n数值排序,-t分隔符

-r 反序

cut

处理一个字符间隔的内容

-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。

-c :以字符为单位进行分割。

-d :自定义分隔符,默认为制表符。

-f  :与-d一起使用,指定显示哪个区域。

who|cut -b 3-5,8

cut -c 3 cut_ch.txt

cat /etc/passwd|head -n 5|cut -d : -f 1

sed [-nefr] [动作]

选项与参数:

-n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。

-e :直接在命令列模式上进行 sed 的动作编辑;

-f :直接将 sed 的动作写在一个文件内, -f filename 则可以运行 filename 内的 sed 动作;

-r :sed 的动作支持的是延伸型正规表示法的语法。(默认是基础正规表示法语法)

-i :直接修改读取的文件内容,而不是输出到终端。

function:

a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~

c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!

d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;

i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);

p :列印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~

s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

cat new.txt |sed '2,5d' 删除2-5行,不实际删除文件内容

nl /etc/passwd | sed '3,$d'

sed '2a drink tea'

nl /etc/passwd | sed '2i drink tea'

nl /etc/passwd | sed '2,5c No 2-5 number'

nl /etc/passwd | sed -n '5,7p'

nl /etc/passwd | sed -n '/root/p'

/sbin/ifconfig eth0 | grep 'inet addr' | sed 's/^.*addr://g'  ,sed 's/要被取代的字串/新的字串/g'

nl /etc/passwd | sed -e '3,$d' -e 's/bash/blueshell/' ,-e表示多点编辑,第一个编辑命令删除/etc/passwd第三行到末尾的数据,第二条命令搜索bash替换为blueshell

sed 的『 -i 』选项可以直接修改文件内容

sed -i 's/\.$/\!/g' regular_express.txt , sed 将 regular_express.txt 内每一行结尾若为 . 则换成 !

sed -i '$a # This is a test' regular_express.txt

awk

awk的一般语法格式为:awk [-参数 变量] 'BEGIN{初始化}条件类型1{动作1}条件类型2{动作2}。。。。END{后处理}'

默认域分隔符是"空白键" 或 "[tab]键, $0则表示所有域,$1表示第一个域,$n表示第n个域

awk '{print}'  /etc/passwd  ==  awk '{print $0}'  /etc/passwd

/etc/passwd |awk  -F ':'  '{print $1}'

cat /etc/passwd |awk  -F ':'  'BEGIN {print "name,shell"}  {print $1","$7} END {print "blue,/bin/nosh"}'

awk -F: '/root/' /etc/passwd

ARGC              命令行参数个数

ARGV              命令行参数排列

ENVIRON            支持队列中系统环境变量的使用

FILENAME          awk浏览的文件名

FNR                浏览文件的记录数

FS                设置输入域分隔符,等价于命令行 -F选项

NF                浏览记录的域的个数

NR                已读的记录数

OFS                输出域分隔符

ORS                输出记录分隔符

RS                控制记录分隔符

ls -l |awk 'BEGIN {size=0;} {size=size+$5;} END{print "[end]size is ", size}'

awk -F ':' 'BEGIN {count=0;} {name[count] = $1;count++;}; END{for (i = 0; i < NR; i++) print i, name[i]}' /etc/passwd

awk -F: '$1~/mail/{print $1}' /etc/passwd

----------------------压缩数据-------------------

gzip是Linux上最流行的压缩工具

gzip

压缩文件,单个文件

-d ,解压缩

gunzip

解压文件

tar

tape archive

-c ,创建一个新的tar归档文件

-x ,从已有的tar归档文件中提取文件

-f ,输出结果到文件

-t ,列出tar归档文件的内容

-v ,在处理时显示文件

-z ,将输出重定向到gzip命令来压缩内容

tar -cvf test.tar test1/ test2/

tar -tf test.tar

tar -xvf test.tar

tar -czf test.tar test

tar -zxvf filename.tar.gz

---------------------网络----------------------

netstat

netstat -at ,只列出TCP连接,-u

netstat -ant ,禁用反向域名解析,显示的是ip

netstat -ntl ,所有处于监听状态的tcp连接

netstat -ntlp ,获取进程名、进程号以及用户 ID

netstat -ie ,打印网络接口,和ifconfig相似

---------------------日期----------------------

date

date +%Y%m%d

date +%Y%m%d-%H:%m:%S

date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00

date -s 01:01:01 //设置具体时间,不会对日期做更改

date -s “01:01:01 2008-05-23″ //这样可以设置全部时间

date -s “01:01:01 20080523″ //这样可以设置全部时间

date -s “2008-05-23 01:01:01″ //这样可以设置全部时间

date -s “20080523 01:01:01″ //这样可以设置全部时间

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

推荐阅读更多精彩内容

  • 系统信息cat /etc/os-release 查看系统详细信息(只在centos和redhat上试过生效)arc...
    MicoCube阅读 682评论 0 0
  • 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显...
    周晓风阅读 372评论 0 0
  • 系统 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正...
    莎楽哥哥鸭阅读 758评论 1 51
  • 不知道从什么时候开始,诗和远方都成为了大家不断挂在嘴边的东西,追求着一种叫不上来的情怀,我也是一样,总想成为那个与...
    长安长安_阅读 495评论 5 6
  • 其实连我自己都不清楚缓两天是什么意思?缓冲期过后我们又该怎么重拾感觉呢?我们又会以怎样的方式继续呢?这种种的种种我...
    槑_fan阅读 269评论 0 0