Linux命令 150个 经常使用的也就80个。linux
linux命令操做语法格式图:正则表达式
命令_参数_路径文件vim
rm -f /tmp/t.logbash
提示:ssh
a.命令的参数可选编辑器
b.不一样的命令路径和文件可选ide
命令 --help 命令的简单帮助spa
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