linux基础命令--笔记
一. 1 . --help 命令简单帮助
2. man 查看命令复杂帮助 (非内置命令)
3 . help (bash的内置命令)如 :help cd 、help pwd help 内置命令可用man cd 等查看。
4 . ls==list 查看目录列表
5 . mkdir == make directory 创建目录。例如:mkdir /date
-p 递归创建目录 :mk
6 . cd ==change directory 作用切换路径. 例如:cd /
7 . touch ==‘摸一下‘作用创建文件。例如:touch bage.txt
8 . vi vim ==相当于记事本,有编辑功能。如:emeditor 等 普通模式vi 进入->(命令模式)-(iao)-(编辑模式)-ESC(退出编辑模式)--》到达(命令模式)-》输入:wq(保存退出)--普通模式。强 制退出:q!
9 . echo ==打印输出内容,配合“>”或“>>”可为文件覆盖及追加内容 及创建文件。“>”(重定向)会清除文件所有内容 ,增加新内容。“>>”(追加重定向)文件结尾加入内容,不会删除内容。 echo {0..10} 与seq有点相似 seq 用于数字 。echo 针对文字数字。 如创建 显示好多内容:echo wang{0..10} 从wang0--wang100 创建100个用户名 echo user{1..100} >user.txt .如创建100个目录 mkdir wang{0..100}
10 . cat ==查看文件内容 及可创建文件。特殊用法:增加多行内容@ cat >>/data/bage.txt<<bage
xx内容xxxxx
xx内容xxxxx
bage
@ echo "
xx内容xxx内容
xx内容xxx内容
" >>bage.txt
向bage.txt文件内增加内容 bage任意替换。必须成对出现。前面表示开始 后面表示结束。echo这里的双引号或单引号都是成对出现和cat中bage意义相同。<<输入重定向 一般是成对出现。
11 .特殊字符命令:>或者1>重定向 会清除所有内容增加数据 可清空文档 如: >admin.txt
>>或1>>正确追加重定向
<0标准输入重定向
<<0追加输入重定向
2>错误重定向
2>>错误追加重定向
注:箭头指定方向为数据流方向. 标准输入(stdin) :0 使用<< 、< 正常输出(stdout) 代码1 使用 > .>> 错误输出(stderr)2 代码> ,>>。例如:echo "adminadmin" 1>admin.txt 2>long.txt
12 . cp ==copy复制命令ctrl+c,例如:cp oldboy.txt /tmp/ 注:拷贝默认之拷贝文件 拷贝目录:cp -a /etc/ /tmp cp -r /etc/tmp -r 递归复制 -a 相当于(pdr) p(复制属性保持属性不变)(d)如果该文件文链接文件 则拷贝链接文件属性而非源文件属性。cp =cp -i (别名) -i 覆盖时 提示确认消息 取消提示 两种方法屏蔽:\命令 即可 如:\cp /etc/admin.txt ./admin.txt. 命令或者打命令绝对路径 如 :/bin/cp /etc/admin.txt ./admin.txt
13 . mv == 移动目录或文件 ,例如:mv /data/root/
14 . pwd ==print work directory 查看当期那用户所在路径
15 . rm ==删除文件或目录 -f 强制 -r删除目录 。生产环境尽量不要用rm 预先备份(cp) 。实际环境代替命令:1 mv 移动到临时文件夹内 (回收站) 。.
16 ***. find ==查找删除
例如1.: find /root/data -type f -exec rm -f {} \; type表示类型 文件用 f , 目录用 d , (-exec 表示处理查找的结果) {}表示找到的内容 ;在bash有特殊含义所以前面加反斜杠\ 进行转义 让他变成它本身分号本身的含义。 注释:切记空格 {}与\;中间有空格
例如2 : find /root/data/ -type f|xargs rm -f xargs(代表前面查找输出的内容 交给rm -f 相似与{})
@ 面试题:删除一个目录下的所有文件。但保留一个文件。
解: @find /root/data -type f ! -name "bage.txt" |xargs rm -f 【 -name指定精确查找的文件名 ! 非,取反(排除xx不删) 】 注释:切记空格 {}与\;中间有空格
@find /etc/www/ -type f ! -name "wang.txt" -exec rm -f {} \; 注释:切记空格 {}与\;中间有空格
17 . \ 让一个有意义的字符,脱掉马甲。失去原来意义.
18 . | 把前一个命令输出结果让后一个命令处理。
19 . head ==头部 取文件的前n 行 默认前10行。 取前三行 -n 3 简写-3 如:打印出text.txt内容 但不包含bage字符串的命令。已知内容如下:test liyao bage 解答可用前名cat 与追加重定向实现。解:head -2 text.txt
tail ===尾部 取文件的后n行 默认10行。 去后2行 tail -n 3 简写tail -2
-f 更具文件尾部实时变化 显示。
20 ***三剑客老三grep ==过滤器, 输出想要的或者不想要的。-v 排除 如:grep -v "bage" text.txt (解答上题) 活学活用:cat /text | grep -v "bage" . grep三剑客老。
-B 显示过滤的行 并显示该行前面的n行。如:grep 20 admin -B 2 /etc/passwd
-A显示过滤的行 并显示该行后面面的n行 如:grep 20 admin -A 2 /etc/passwd
-C显示过滤的行并显示该行前后后面的n行。如:grep 20 admin -C 2 /etc/passwd
21*** 三剑客老二sed(stream editor)==过滤 功能 sed -n ‘/过滤的内容/处理的命令’文件 筛选出该内容所在的行
-n 指:取消sed的默认输出 因为 sed默认输出全部内容 和输出筛选出的内容 。
-i 改变文件内容 。命令 p :print打印 d: delete删除。
**** sed替换功能 :sed -i ‘s#要替换的内容#替换后的内容#g‘ 文件名 注释:s 代表查找替换 #分隔符(可用任意特殊字符代替# 如果替换的新/源内容有该字符请用\转义) g代表全局
例如:sed ‘/oldboy/d‘ text.txt (d与前面-n有关 若) 解答上题 set -n ‘/bage/p‘ text.txt 解答上题。
例如: sed -i ‘/oldboy/p‘ text.txt 文件内容会复制增加该字段所在的行。 sed -i ‘/oldboy/d‘ text.txt 会将该字段所在的行 删除。
sed取行 sed -n ‘10,30p‘ admin.txt 取出admin.txt 文件的20-30行。
22. yum ==linux包管理器 yum帮助解决依赖问题.
如:yum instlal tree -y (下载tree包)
rpm -ivh (安装 显示输出,人类可读展示) 如:rpm- ivh 包名.rpm 缺点:依赖问题
23. tree ==显示目录结构
24 .alias ==查看定义别名(外号 ) 例如:alias xx别名=“命令” 例如:alias rm=‘echo "rm van not be used .pls use mv"‘
定义隐藏使用其功能。unalias 取消别名 临时生效。别名生效位置:/root/.bashrc (正对用户) 所有用户都是生效:/etc/bashrc 或/etc/profile定义 生效 source /etc/profiles
别名作用:给一些危险命令加一些保护防止人为误操作。 把一些复杂的命令或者字符串变成一个简单的字符串或者命令。
25. ~ 代表用户家目录 针对root环境 ~ 代表root
26 seq =sequence(序列)如:竖打seq 5 序列1-5 seq 2-5 序列2-5 seq 1 2 10 打出1-10 的基数 seq 2
-s 指定分隔符 如:sed -s "@" 5 打出:[email protected]@[email protected][email protected] 。
例如:取一个文件(有100行)只看查看其20-30的行 。seq 100 >admin.txt 解1:head -30 admin.txt | tail -10 (此方法最垃圾 不可取)
常用方法2:sed -n ‘20-30p‘ admin.txt
方法3:grep 30 -B 10 /etc/admin.txt (ABC可更具题型选取)
27.awk 三剑客老大 过滤内容去列 awk ‘{print $第几列}‘ 文件名 默认分隔符为空格 如: awk ‘{print $1}‘ /etc/admin.txt 。 -F 指定分隔符如密码文件分隔符都是:如果去密码文件第一列 :awk -F ":" ‘/print $1/‘ /etc/passwd 取出多列可用:awk -F ":" ‘{print $1$2$3$4$5}’/etc/passwd 可也这样写:awk -F ":" ‘{print $1“=”$2“=”$3}‘ /etc/passwd 。注释:linux特别灵活 第一列. $1 第二列$2, 最后一列$NF , 倒数第二列$NF-1 . 倒数三列$NF-2
!+字母 调出最近一次以字母开头的命令。!!调出最近一次命令 补充命令:history历史记录。!+数字表示调出最近第几个命令 。 - 用户上一次的目录 如:cd - {}输出字符或数字序列