Linux命令 150个 常用的也就80个。

 

linux命令操作语法格式图:

命令_参数_路径文件

rm   -f   /tmp/t.log

提示:

a.命令的参数可选

b.不同的命令路径和文件可选

 

命令 --help 命令的简单帮助

man ==命令的帮助

help ==命令的帮助(bash的内置命令)

ls ==list 查看目录列表

参数:-l(long长格式)、-d(directory目录)

例子:

mkdir ==make directory   作用是创建目录,

例如: mkdir /data

例如:mkdir -p /tmp/data/new

说明:-p (递归创建目录)

cd ==change directory   作用是切换路径,例如:cd /

touch ==摸一下,作用是创建文件,例如:touch oldboy.txt

vi ==编辑器,相当于笔记本,有编辑功能,但较弱。

vim ==复杂编辑器,相当于,emeditor,editplus,notepad+

echo ==打印输出内容,配合“>或>>”可以为文件覆盖及追加内容

     echo "oldboy oldgirl">oldboy.txt

cat ==查看文件内容

      特殊用法:增加多行内容

      cat >>/data/oldboy.txt<<EOF

      I am studing linux.

      EOF

      EOF要成对出现,EOF可以被任意成对内容替换。

cp ==copy复制命令ctrl+c,例如cp oldboy.txt /tmp/

   -r:递归,用于复制目录; -p:保持属性

   -a:相当于 -pdr

   cp='cp -i'  -i需要确认

mv ==移动目录或文件,例如:mv /data /root/

pwd ==print work directory 查看当前用户所在的路径

rm ==remove 删除文件或者目录 -f强制,-r删除目录

   生产环境尽量不要使用rm,如果非要用,一定要先cp等备份。

   替代方法:

   mv移动到一个临时目录。回收站。

find***** ==查找

命令格式:find (目录)  -type 按文件类型查找,-name 按照名字查找,查找的内容最好用双引号括起来

例如:find /tmp/ -type f -name "oldboy.txt" -exec rm -f {} \;

说明:-type f (文件类型) -name(按名字超找,查找的内容用双引号扩起来) -exec(处理查找的结果) rm -f(前面找到的内容处理删除){}(查找的内容)\;(转义,不代表任何意思)

例如:find /tmp/ -type f -name "*.txt"|xargs rm -f

说明:|(代表管道:把前一个命令结果的输出交给后一个命令继续处理) xargs()

例如:find /tmp/ -type f ! -name "oldboy.txt"|xargs rm -f

说明:!(取反)

参数:-a(and并且)、-o(or或者)

例如:find -type f -name test.txt|xargs sed -i

's#younggirl#oldboy#g'

 

head ==头部,取文件的前N行,默认前10行

例如:head -n 3 /etc/passwd

说明:取前三行-n 3,简写就是-3

tail ==尾巴,取文件的最后N行,默认最后10行

例如:tail -n 3 /etc/passwd

说明:取最后三行-n 3,简写就是-3

例如: head -30 test.txt |tail -10

说明:取文件21行到30行内容

awk *****==一门语言,过滤内容(擅长取列),linux三剑客,老大。

命令格式:awk '{print $1}' 文件

说明:$1第一列,$2第二列... $NF最后一列,$(NF-1)最后第二列

例如:awk -F ":" '{print $1 "=" $2}' /etc/passwd

说明:-F(指定分隔符为":") "="(第一列和第二列直接用“=”分割)

例如:awk '{if(NR<31&&NR>19) print $1"\n"}' test.txt 

例如:awk '{if (NR>20&&NR<26) print ¥0}' /etc/passwd

说明:NR代表行号,&&代表并且,\N代表回车换行,$0代表整行。

grep *****==过滤器(擅长过滤),把想要的或者不想要的分离开。linux三剑客,老三

参数:-v排除不需要的,-i不区分大小写,-E过滤多个字符串,-o输出精准匹配的字符而不是默认的整行

        例如:grep "oldboy" test.txt

        例如:grep  -v "oldboy" test.txt

grep -B 除了显示匹配的一行之外,并显示该行之前的num行

grep -A 除了显示匹配的一行之外,并显示该行之后的num行

grep -C 除了显示匹配的一行之外,并显示该行之前后各num行

例如:grep 25 -C 5 test.txt

sed *****==过滤(擅长取行):sed -n '/过滤的内容/处理的命令' 文件。linux三剑

客,老二

           -n 取消sed的默认输出

           -i 改变文件内容*****

        处理的命令:p print打印,d delete删除

        例如:sed '/oldboy/d' test.txt

        例如:sed -n '/oldboy/p' test.txt

sed取行

例如:sed -n '20,30p' test.txt

说明:sed取行,20到30行

sed替换*****(应用极为广泛)

例如:sed -i 's#oldboy#oldgirl#g' test.txt

说明:s常说的查找并替换,用一个字符串替换成另一个、g(global)与s联合使用时,表示对当前全局匹配替换(与下一个g意义不同),参数:-i修改文件内容,      #是分隔符,可以用/@等替换

yum ==linux里包管理器

    例如:yum install tree -y (下载tree包,然后调用rpm命令安装tree包。如果需

要依赖包,帮你下载帮你提前安装。)

rpm == -ivh(安装、显示输出、人类可读)

    例如:rmp -ivh 包名.rpm(提前下载好)

    最大问题,依赖问题不好解决:a---b---c---d

    例如:rpm -qa tree <==-q query -a all

tree ==显示目录树结构

alias ==查看以及定义别名(外号、小名)

      例如:alias oldboy='echo "I am oldboy linux"'

      例如:alias rm='echo "rm can not be used,pls use mv"'

      别名生效的位置,真对root用户:grep alias /root/.bashrc

      所有用户生效:/etc/bashrc或/etc/profile定义

      生效source /etc/profiles

别名的作用:

1)通过给危险命令加一些保护参数,防止人为误操作。

2)把很多复杂的字符串或者命令变成一个简单的字符串或者命令。

unalias ==取消别名

seq ==sequence序列 -s指定序列的分隔符

history ==打印用户操作的历史记录

hostname==查看主机名(uname -n)

uname==打印系统信息 -r内核 -m 32or64位 -n主机名 -a所有

whoami==查看当前用户

su==用户角色切换   su - 用户名  -代表参数切换用户环境变量

从普通用户到root,是需要输入root密码。从root到普通用户无需密码。

普通用户,root皇帝

getenforce==检查selinux状态

setenforce==设置selinux状态1启用0警告、不启用

runlevel==查看当前系统运行级别

intit==切换运行级别,后面接对应级别的数字

例:init 5==startx 切换桌面环境,需要桌面软件包

chkconfig==设定开机自启动服务

 

快捷键:

TAB ==命令、路径补全,linux里最有用的快捷键,如果tab不到路径或命令,就代表没有,这个路径或者命令,还有可能是权限不对。

Ctrl+c  终止当前任务命令或程序

Ctrl+d  退出当前用户环境。相当于命令exit,logout

Ctrl+l  清屏 相当于命令clear

Ctrl+shift+c  ssh客户端里复制的命令

Ctrl+shift+v  ssh客户端里粘贴的命令

 

 

特殊字符命令:

>或1>重定向,会清除文件里所有以前数据,增加新数据。

>>或1>>追加重定向,文件结尾加入内容,不会删除已有的文件内容。

<输入重定向

<<追击输入重定向

2>错误重定向

2>>错误追加重定向

 

1.标准输入(stdin):代码为0,使用<或<<数据流向从右向左。

2.正常输出(stdout):代码为1,使用>或>>数据流向从左向右。

3.错误输出(stderr):代码为2,使用2>或者2>>。

箭头的指向就是数据的流向

 

\ 让一个有意义的字符,脱掉马甲。

.. 相对路径,表示当前目录的上一级目录,例如:/mnt/oldboy,mnt就是oldboy的上级

目录。

. 相对路径,表示当前目录,即当前命令行的目录。

| 管道(把前一个命令结果的输出交给后一个程序继续处理)

~ 用户的家目录,针对root环境~就代表/root

{}输出字符序列或者数字序列

!...

基础正则表达式:一些特殊的符合,表示一些特殊的作用和功能

.代表任何任意字符

*重复前面任意0个或多个字符

.*匹配任意字符

例子: sed -i 's#(可以用正则匹配)#\1#g' oldboy.txt