Linux基础---->命令(三)

目前是简单的介绍常用命令使用,如若需要,后面会针对某些命令进行深入说明。

;一次建立多个命令

date;cal;pwd
sudu fsck -y / ;sudo reboot 修复并重启
sudo poweroff 关机。这个是随手写这的

管道 |

若干个命令,前一个命令的结果做为后面一个命令的输入

如: ls -l /etc | more

>,<,>> 重定向 把产生的结果放到一个文件里面去。

分为输入 和 输出两种。一个> 和>>区别如下

如:
cal 10 2003 > a.txt 将查到的日历内容写入a.txt中,如果a.txt中存在内容,那么将会覆盖原内容。
cal 10 2003 >> a.txt 查到的日历内容追加到a.txt中,不会对源文件进行覆盖。
cat < a.txt > b.txt 输入重定向a.txt,输出重定向b.txt 。 可以理解将a.txt的内容复制到b.txt中

cat命令

cat filename(s)
cat /etc/passwd | awk -F: ‘{print $1 “\t” \$6}’ | sort > b.txt
awk 对于接受到的信息,按行处理。上边意思是将passwd中的内容取出来,在以冒号进行分割,打印出第一列和第六列, 再排序写入b.txt中。如果按元字符分割,需要加上单引号。 注意-F与紧跟的符号是没有空格的。把$6前的那个斜杠干掉,markdown转义留下的。

cat主要是提出出内容进行管道命令,一般用more查看内容。
more 显示文件内容 分页显示的 ,常用的操作 b f h q /string n

显示部分文件内容

head [-n] filename(s) 显示头几行
tail [-n] filename(s) 显示尾部几行

如:
head -5 a.txt
tail -10 a.txt
tail -10 a.txt | head -5 尾部10行的前5行
tail -n +2 a.txt 从第二行开始到结束
如果不指定行数,默认10行

sort 读取内容,按行排序

sort [-option] filename
sort -u file
-u 重复的行数不显示

uniq file 清除重复行,相邻的行才算是,不相邻的不算.也可针对管道操作。

diff file1 file2 比较两个文件文本的内容,相同不显示,不相同会显示各自不同的内容

diff [-u] file1 file2 去除相邻的重复行,再进行比较

file filename 查看文件类型
如:

file a.txt
file done.tar.gz

echo命令

echo [-option] message 相当于打印语句 用于shell脚本居多
echo -e “hello\tworld” -e 激活转义字符
echo -n “helloword” -n 不换行,默认是换行的

script命令 相当于录屏,

script [-a] filename ….command exit
参数 -a 在源文件后进行追加,默认覆盖源文件。
如:
第一步: script file1
。。。。command(就是你的操作,这个时候已经在录屏中)
第二步: exit
more file1 就可以看到录制的内容了。

vi编辑器

分为三种模式:

输入模式:一切都是内容
命令模式:只要符合命令,就当命令执行,
底行模式:针对命令模式的补充,也是命令,没有限制, 可以组合命令,进行复杂的操作。要求光标必须位于屏幕的最下方。

vi命令进入编辑器,默认是命令模式,然后按 i / a / o 进入输入模式
i 在光标当前位置插入
a 在光标所在位置后插入
o 在光标所在行下插入一空行
还有对应的大写也是不同位置,自己可以试

按ESC后,就是命令模式。
进入底行模式命令,从任意一种模式按ESC后 , 再按 : ,/, ? 三种方式都可进入, 各自进入后所输入的命令也不同。 /string , ?string 可搜索
输入模式光标方向:

k —>上 , j—-> 下 , h—> 左 ,l—–> 右

退出编辑模式,按ESC 在命令模式执行以下命令

x —–> 删除一个字符
dw —–>删除当前词
3dw —–> 删除三个词
dd —–> 删除当前行
5dd —–> 删除5行
以上都跟光标所在位置有关系
:5,10d —–> 重点内容脱离光标, 删除5行–10行(底行模式)
r —–> 替换一个字符
cw —–>替换一个单词
cc —–>替换一行
C —–>替换光标至行尾

yw —–> 拷贝词
yy —–>拷贝行(或Y)
p —–>当前行下粘贴,光标行后
P —–>光标行前
:1,20co3 —–>拷贝第一行至第20行在第三行之后(底行模式)
:3,5m6 —–>移动第三行至第五航在第六行之后(底行模式)

:w —–> 保存
:w newfile —–> 保存成新文件
:wq —–>保存并退出vi(或者ZZ,或:x)
:q! —–>强制退出不保存

~ —–>改变大小写
J —–>把当前行和下一行连起来
u —–>废除刚才的编辑操作
:set nu —–> 显示行号 (:set nonu不显示)
:21 —–> 光标停在指定行
21G —–> 光标停在指定行(G到文件尾,1G到文件头)
/串 —–> 从当前行往下查找
?串 —–> 从当前行往上查找
n —–> 继续查找
:r file2 —–> 在光标所在位置插入另一个文件
:1,$s/旧串/新串/g —–> 替换全文(或:%s/旧串/新串/g)
:1,5s/旧串/新串 —–> 替换1–5行所指定的字符串

窗口切分功能

:split —–>横向切分
:vsplit —–>纵向切分 ,只影响当前窗口
:open newfile —–> 装入新的文件,open . 打开当前目录,自己选
:ctrl ww —–> 切换窗口
:close —–> 关闭某一个窗口,先要进入要关闭的窗口
gg=G —–> 对代码缩进排版,缩进4–8个字符

搜索

分为手动搜索,自动搜索(ls,more…)
不管有没有登录

id root
id -a root
id [-option(s)]
who 显示登录的用户
w 更详细信息
who am i / whoami 在 我Ubuntu新版本上who am i没有作用,必须连起来写才可以

find path expression [action] 查找

find 只能一次使用一个action
find / -name “tian*” 按名字搜索
find / -mtime 10 -print 按最后修改时间10天以前的搜索,打印路径名(默认打印)
find /etc -user 0 -size +400 -print 按用户搜索 大于等于400字节 size不同系统会有歧义(字节或者磁盘块,具体使用时可查下)
find ~ -perm 777 > a.txt 按权限搜索,再重定向到某个文件,
find /export/home -type f -atime +365 -exec rm {} \; 按类型, f表示常规文件 最后一次访问时间 365天以前 -exec 表示把这些结果交给另外一个命令去执行,rm必须带参数,这里目前不知道结果,所以用{}占位符, rm删除掉 {占位符}中的内容,就是find出来的结果。可能有多个结果,所以后面跟分号,重复执行。需要加\转义,否则shell无法认识是删除命令。


find /home/html -name “*.html” -print | xargs perl -p -i.bak -e “s/Copyright 2003/Copyright 2005/g;”
xargs 不会单独使用,作为后面命令的参数使用(xargs从管道提取内容,交给其他命令),后面一定会跟一个命令
perl —>命令解释器
-p 按模式处理
-i 处理之前先备份
.bak 扩展名,可以自己起 ,如:.txt ..等等
-e 执行
s/Copyright 2003/Copyright 2005/g; 全文查找替换
以名字查找出来不打印,放入管道, 再由xargs 从管道提取出来追加到perl命令的最后面去处理,处理之前先备份, 后面是版权替换。

看个perl 的例子,就是上面例子的管道部分
这里写图片描述

grep 从文件中按要求匹配到相应的行,然后显示出来

grep [-option(s)] string filename

ls -la | grep -i ‘sep1’ -i 忽略大小写
grep root /etc/passwd 含有root的行显示出来
grep -v root /etc/passwd 不含有root的行显示出来
-v 匹配不到的显示出来
cat a.txt | awk -F: ‘{print $1}’ | grep -i tian 也可以用到管道命令中

wc统计命令
wc 统计管道或者文本中的行数,单词数,字符数

wc [-options] filename(s)
-l 统计行
-w 统计单词
-c 统计字符
-m 统计字符数
-L 打印出最长行数的长度

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值