C++学习笔记之2020.10.20Linux笔记

基本指令:

**1、重定向:>**
命令>    文件 :提覆盖的方式将命令的*正确输出*输出到指令的文件或设备中
命令>    文件 :提追加的方式将命令的*正确输出*输出到指令的文件或设备中
命令2>  文件 :提覆盖的方式将命令的*错误输出*输出到指令的文件或设备中
命令2>>文件 :提追加的方式将命令的*错误输出*输出到指令的文件或设备中
**eg:**
	ls > test.txt  将ls输出的当前目录列出的文件、文件夹以覆盖的方式写入text.txt,如果text.txt不存在,那么就创建
**2、分屏显示more**
more stdio.h,分屏显示这个文件
针对信息过长,屏幕无法显示完整,通过more可以分屏显示,每次显示一页、按空格显示下一页,q退出显示,h获取帮助
**3、管道:|(一个命令的输出可以通过管道作为另一个命令的输入)**
用的很多?还很抽象?用来连接两个指令,不是很懂,所以举两个例子
(1)ls -l | more :ls -l的输出送入more进行分页显示
(2)命令 | grep [-参数] ‘关键词’:eg: ls | grep std
这种方式采用管道,将前一个命令的执行结果输出给grep,并通过grep的关键词搜索将符合条件的行		搜索出来。
(3)ls /usr/include -alf | more  用来过滤
(4)ls /bin/ | grep ls  查找bin目录下的ls相关的文件夹、文件
**4、清屏:clear  control+c**
**5、切换工作目录:cd**
cd没有参数   则返回登录目录 \home\sdl
cd - 去上一次访问的路径,注意与cd .  的区别
**6、显示当前路径:pwd**
**7、自动补全:tab**
**8、创建文件夹:madir ./a/b/c -p ,同时创建新文件夹下的新文件夹 直接用mkdir ./a/b/c不行**
**9、删除文件夹:rmdir 只能删除空文件夹**
**10、删除:rm汇总**
rm a -r删除目录a   **rm * -rf   f**:表示不提示直接删除、*当前目录所有东西
rm * .png -rf 与rm *.png -rf这两个指令是不同的,区别就在于一个空格 后者删除所有.png文件,前者全删了
rm 1.c -i 删除会有提示
rm ../mike -r 删除上一级目录下的mike
rm ~/code 删除默认目录(/home/sdl)下的code
**11、建立连接文件:ln**
软链接:软链接不占用硬盘空间,源文件删除则软链接失效、只是源文件的快捷方式
(1)类似于windows快捷方式
(2)修改其中一个文件,会影响另一个文件
**eg:** ln -s 1.txt abc.txt
ls -l 文件1.txt会有一个abc.txt指向->1.txt
硬链接(有个锤子用,只能链接不同文件,不能是目录,而且占用内存)
(1)给某个文件拷贝一份,这两个文件独立占用内存
(2)改变其中一个文件,会影响到另一个文件
(3)删除某个硬链接文件,不会影响另外一个文件
**eg:** ln 1.txt abc.txt
1.txt是源文件,abc.txt是目标文件,创建一个与1.txt一样的文件(硬链接)
更改abc.txt和1.txt都会改变二者,二者文件是独立的,但是链接在于同步更改
**12、文本搜索:grep**
格式:grep [-选项]  ‘搜索内容串’文件名  grep -v ‘a’ a.txt
-v 显示不包含匹配文本的所有行  搜索没有a的东西
-n 显示匹配行及行号
-i  忽略大小写
对于关键字中带有空格,则通过带有单引号,砖家建议:每次都加单引号或双引号
eg:grep ,abc, test.txt  .代表随便是什么都行,只要满足中间是abc都会被找到
grep [0-9]abc[0-9] test.txt -n
ps -aux | grep gedit   搜索当前与gedit有关的进程
**13、查找文件:find用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户的文件**
	find ./ -name test.sh:查找当前目录下所有名为‘test.sh’的文件
	find ./ -name ‘*.sh’:查找当前目录下后缀名为‘.sh’的文件
	find ./ -name ‘[A-Z]*’:查找当前目录下以大写字母开头的文件
	find  /tmp -size 2M  :查找当前目录下等于2M的文件
	find  /tmp -size +(-)2M  :查找当前目录下大于(小于)2M的文件
	find  ./  -size +4K -size -5M :
	find ./ -perm 0777	:查找当前目录下,权限为777的文件或目录
14、拷贝文件cp
	cp  源文件 目标文件
	cp -v代表拷贝进度,所以很有用。
15、移动mv
	mv aaa.c mke.c  :其实是改名操作,路径不变
16、获取文档类型:file
	显示文件的信息(后缀名等等,方便打开等操作。)
17、归档管理:tar
*复制过来的*:仅供参考
	[root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 ....
参数:
	-c :建立一个压缩文件的参数指令(create 的意思);
	-x :解开一个压缩文件的参数指令!
	-t :查看 tarfile 里面的文件!
	特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!
	因为不可能同时压缩与解压缩。
	-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
	-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
	-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
	-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
	例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成『 tar -zcvPf tfile sfile』才对喔!
	-p :使用原文件的原来属性(属性不会依据使用者而变)
	-P :可以使用绝对路径来压缩!
	-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
	--exclude FILE:在压缩的过程中,不要将 FILE 打包!
*手敲的*:
	eg:
		打包:tar -cvf xxx.tar 需要打包的文件
		解包:tar -xvf xxx.tar 不指定路径,默认在当前的路径解包
		指定目录解包:tar -xvf xxx.tar -C 指定路径目录  	
18、文件压缩解压gzip
	gzip test.tar     输出  test.tar.gz
	gzip xxx.tar 自动在当前目录生成:xxx.tar.gz
	gzip -d xxx.tar.gz 解压到当前目录,xxx.tar
	**tar -czvf test.tar.gz *   一步到位,不需要先tar在gzip**
	**tar -xzvf test.tar.gz *   一步到位,不需要先tar在gzip**
19、文件压缩解压bzip2
	bzip2  test.tar      输出  test.tar.bz2
	-d  decompress  -z  压缩
	ls -sh test.tar.bz2
	一步到位:
	压缩       :tar -cjvf xxx.tar.bz2 所需文件
	解压缩    :tar -xjvf xxx.tar.bz2
20、查看当前系统账号的用户名:whoami
21、查看所有用户的用户名和上次活动的日期
		sudo su 用户名,sudo su sdl  切换用户到sdl
		如果不指定用户,则切换到管理员默认用户root
22、查看用户组信息:cat /etc/group
23、查看用户信息:cat /etc/passwd
	edu:x:1000:1000:edu,,,:home/edu:/bin/bash
	第一个1000表示用户id
	第二个1000表示这个用户属于哪个组,组id
	sudo groupadd abc  :增加组abc
	sudo usermod -g abc mike   更改用户组
24、增加用户 useradd
	useradd -m sdl 可以增加用户,在home下不存在sdl文件夹的情况下,自动创建
25、修改文件权限chmod
	字母法:chmod u/g/o/a +/-/= rwx(读、写、执行) 文件
	[ u/g/o/a ]          含义
	     u             user 表示该文件的所有者
	     g             group表示与该文件的所有者属于同一组者,即用户组
		 o             other表示其他以外的人
		 a             all表示这三者都是u g o
	[ +-= ]  
		 +              增加权限
		 -				撤销权限
		 =				设定权限
	eg:
		chmod u-w 1.c   chmod g+x 1.c
		chmod o=rwx 1.c
		000代表没权限,001表示有执行权限,010代表写权限
		chmod 600 1.c  表示user执行权限、写权限,用户组、其他没有权限
		chmod 777 code
		文件权限说明:
		x:没有此权限则无法进入
		r:没有此权限则无法打开,甚至连文件夹都不能ls
		w:没有这个权限,无法新建或者删除文件
26、改变文件所有者:chown
	chown mike 1.c 没有权限:sudo chgrp mike 1.c
27、修改文件所属组:chgrp
	chgrp root 1.c    sudo chgrp root 1.c
28、依据进程号码删除进程:kill
	kill -9 1173(进程号码)  -9:理解为强力删除
29、添加组账号:groupadd
30、查询用户登录情况
31、检查磁盘环境:df
	df share/ -h
32、检查目录所占磁盘空间:du
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值