Linux学习第二天

一、知识积累

1、使用bash命令实现打印ubuntu下tree命令显示的树

命令:find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g' > structure.txt

如果需要移除node_module,则需要使用命令

命令:find . -print | grep -v "node" | sed -e 's;[^/]*/;|____;g;s;____|; |;g' > structure.txt

-------------------该操作更快捷的方法,直接输入命令tree>file1.txt,即可将tree命令的输出结果存放到file1.txt中

二、文件操作

1、文件权限设置

(1)用户2可以删除用户1创建的文件吗?可以,只要用户2对该文件具有写权限即可。

(2)chmod g-r dir1 对文件减去读权限

 

字母设定法

(3)数字设定法,命令:chmod 777 dir1/file1

或者命令:chmod 666 dir1/file1

 

2、文件查找

命令:find 其实目录 查找条件 操作

例如: find . -name "fil[a-z][1-2]"

这样的话可以查找出以fil为文件名,后一个字符是a-z或者1-2的文件

 

(1)创建一个只有1个字节的文件,使用命令echo >file

(2)查找5分钟以内被修改过的所有文件,使用命令:find . -mmin -5

(3)查找5分钟以前被修改过的所有文件,使用命令:find . --mmin +5

 

(4)使用命令who,可以查看谁登陆了你的账号

 

三、find的组合操作

1)命令find /usr/include/ -name stdio.h -exec ls -l {} \;

(2)命令find . - name file|xargs rm -rf

(3)|代表管道的意思,将前一个命令的输出,作为下一个命令的输入

 

四、其他命令

1、使用命令df -h 列出磁盘当前使用情况,使用命令du -h显示当前文件夹空间使用情况

 

2、查看内核命令uname -a

 

3、显示文件内容,使用命令cat -b file1

 

4、命令重定向输出,例如命令:tree >file2,就是将tree命令显示的内容重定向输出到file2

 

5、重定向输出,使用命令:echo I hen niu >file3,就是将I hen niu的内容重定向输出到file3

 

6、如何将标准输出和标准错误输出分割开?脚本还不能实现,需要使用C语言实现。

 

7、使用命令echo -n a.txt 这样的话,创建的空文件就不占用1个字节了

 

8、使用命令touch file7,可以创建一个名为file7的空文件

 

9、使用命令cat >file7 >file2,将file7的内容输出到file2

 

10、显示文件内容的前几行,使用命令head -3 main.c,显示main.c的前3行;使用命令tail -3 main.c,可以显示main.c文件的后3

 

12、如果想要显示history的后100行输出到history.txt中,则使用命令history |tail -300 >history.txt,在此命令中,tail -300为显示从尾部的300行,|代表重定向输出

>history.txt代表输出到history.txt文件中

 

13、使用命令:ls|wc -l,功能是统计ls输出的文件的个数

 

14、Linux下的汉字编码是UTF-8,而在Windows下的汉字编码是GBK

 

15、使用uniq命令,该命令的主要功能是报告或者删除文件中重复的行,参数如下:

①-c 在输出行前面加上每行在输入文件中的出现的次数

②-d 仅显示重复行

③-u 仅显示不重复的行

 

16、汉字编码转换使用的命令是iconv命令,该命令格式如下:iconv -f [输入编码] -t [输出编码]

例如:iconv -f utf-8 -t gb2312 hanzi>hanzi1

输入/输出格式规范,-f代表原始文本编码,-t代表输出编码

 

17、搜索文件内容grep命令

命令:grep [选项][查找模式][文件名1,文件名2,…]

①默认grep区分大小写

②例如:find . -name *.c|xargs grep main

使用管道,先搜索.c文件,从.c的文件中搜索含有main函数的文件

 

五、下午上课学到的命令

1、文档管理

打包文件使用命令:tar [主选项+辅选项]   目标文档  源文件或目录

tar可以为文件和目录创建档案,利用tar,用户可以创建档案文件

①打包:tar rf file.tar main.c

②解包:tar -xf file.tar

③打包并压缩:tar cfvz new.tar.gz

④解包并解压缩:tar -xf new.tar.gz

 

2、文件压缩解压

命令:gzip/bzip2 [选项]压缩或解压缩的文件名

①例如:gzip file1.txt

压缩完成后,源文件会被删除

②解压缩:gzip -dv file1.txt.gz

 

3、scp远程拷贝文件

①例如,向2.100传送数据,输入ssh test@192.168.2.100,密码test

②命令:scp test.txt test@192.168.2.100:~/

③命令:scp day2_history3.txt test@192.168.2.100

 

4、命令放到/usr/bin目录下时,就可以直接执行

 sudo cp kscp /usr/bin

 

5、如何设置无秘钥登录?

使用的是非对称加密算法

 

1)命令cd .ssh,进入.ssh文件夹下,输入命令ssh-keygen,即可生成一个名为id_rsa.pubid_rsa的文件,其中pub文件为私钥,另一个为公钥。

2)输入命令ssh-copy-id -I [你的id_rsa.pub的路径] [服务器名称]

例如: ssh-copy-id -I usr/yanmengqi/.ssh/id_rsa.pub test@192.168.2.100

(3)输入服务器密码即可连接

(4)可能出现的bug?

①密钥生成失败?需要在执行第一步的时候连续摁3次回车

②访问不了服务器的密钥文件?可能是服务器的密钥文件权限被修改,请查看密钥文件的读取权限,如有必要,请更改密钥文件权限,服务器密钥存放在.ssh文件夹下的authorized_keys文件内

 

 

6、使用route命令查看路由

 

7、vim的使用

1)创建文件,命令vim echo.sh

(2)左下角显示的大写的INSERT,则代表进入的是编辑模式

在编辑模式下,按ESC进入命令模式

 

(3)输入a和输入i进入编辑模式的区别,a是在光标后边开始添加文本,i是在光标前边插入文本;输入I是在光标前行首插入文本,输入A实在光标行尾添加文本

 

Ctrl+s进入僵死状态,Ctrl+q退出僵死状态

(4)删除与修改

x删除光标处

dd删除整行

4dd删除从本行下的3行;4dd就是删除本行下的4行

D删除光标到行尾的文本

yy复制光标所在整行5yy复制所在行下的共计5行

p粘贴

 

(4)光标移动

 

(5)翻页

Ctrl+b向上翻一页

 

W向后移动一个字

b向前移动一个字

 u回退上次的指令

 

n向上走一行

Shift+n 向下走一行

(6)替换命令

替换命令1:s/God/ghost                        

替换命令2:10,16s/God/ghost           替换10-16行的God

 

全部替换::%s/God/ghost   

替换整个文本中的ghost

 

(7)配置vim的一些设置

①配置文件vimrc

②将这些配置放到home目录,并改名为.vimrc
③使用命令kscp vimrc将该文件拷贝下来

④然后将该文件放到/home下,使用命令mv vimrc .vimrc

 

(8)十六进制模式%!xxd

重新恢复成文本模式%!xxd -r

新建一个窗口,使用命令new main.c

即为创建了一个新的叫做main.c的文件

对齐文本gg=G

 

(9)sed命令

 sed -I "s/printf/puts/g*" *.c

 

(10)vimdiff命令,显示两个文件中的不同的地方

命令:vimdiff main.c test.c

 

(11)修改颜色设置bashrc

将那句话放到bashrc的最后一行

输入echo $PS1可以显示色彩配置

bashrc中存放了很多系统设置,例如ll等快捷命令等

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值