基本shell指令

命令格式:三要素–》命令名称 [选项] [参数] :eg–> ls -l test.c
一、用户系统相关的命令
1, su :–>切换用户当前状态
eg:su - :切换到root用户下去
su -m:切换到root用户下的主目录下去
su - 原来的用户名:
2,系统管理命令:
(1)shutdown -->关机或者重启
关机: sudo shutdown -h now
45分钟后关机: sudo shutdown -h +45
重启: sudo shutdown -r now
重启: sudo reboot
45分钟后重启:sudo shutdown -r +45
(2):clear -->清屏 (也可以用:ctrl +l)

3,磁盘相关命令
fdisk:查看磁盘分区情况
注意:要具有超级用户的权限

二,文件目录的相关命令:
ls :
ls -a:查看目录下的所有内容(包含隐藏文件和以.开头的文件)
ls -l:查看文件的详细信息(权限,分组,硬链接数,大小,时间,文件名)
ls -R:递归显示目录下的内容:包含当前路径下的该目录以及子目录的详细内容。

cat:查看文件的内容
more/less:用来查看文件–》按下空格:翻页显示 。按下回车:一行一行显示 。 按下q:代表退出
注意:more命令使用完毕以后会看到翻阅过的历史记录,而less则不会留下痕迹。
head/tail:用来查看前后行数对应的内容:
其中:如果不加任何选项,则代表默认显示前后各10行
如果加上选项eg:head -7 test.c --》查看test.c文件的前7行
file:查看该文件的属性

pwd:查看当前位置的绝对路径
–》如果想要修改终端提示符:
注意:可以通过命令PS1来实现:eg:PS1=WORKPATH$
–>然后可以搭配PWD命令来查看当前位置。

chmod:修改文件的权限
方式1:利用八进制:chmod 0777 test.c
方式2:利用符号标记:chmod u+x test.c --》给用户自己添加
chmod u-x test.c -->给该用户去除掉可执行权限
chmod g+x test.c -->给组加可执行权限
chmod o+x test.c -->给其他用户添加
chmod a+x test.c / chmod +x test.c -->给所有用户添加可执行权限

通配符:
* : 匹配任意长度个字符
?:匹配一个字符的长度
[…] :匹配指定的一个字符的长度
[…-…] :匹配指定的范围内的一个字符长度的文件
[^…] :匹配除了指定的其中一个字符的文件,剩余的全部显示

grep:
作用:在指定文件中搜索特定的内容,并将该内容所在行进行标准输出
格式:grep [选项]格式[文件所在位置]

find:
作用:在指定目录中搜索文件
格式:find [路径][选项][描述]

管道:第一个命令的输出作为第二个命令的输入,第二个命令的输出作为第三个命令的输入,以此类推。。。

xargs:因为有些命令与管道不兼容,不支持,通过管道不能够正确的将管道左边的命令输出结果作为输出传递给右边的命令。
xargs:根据分隔字符进行分隔打包,最终一起通过管道传递给第二个参数。

综合案例:结合find,grep,管道实现查找所有.c文件里面的含有printf这一行并把这一行标准输出。
eg:
linux@ubuntu:~/20061/LinuxC/day1$ find -name “*.c” | xargs grep -n “printf”
./fileA.c:5: printf(“hello world\n”);
./fileA.c:6: printf(“heihei\n”);
./fileA.c:7: printf(“hhhhhhh.c\n”);
./file123.c:5: printf(“hahahhaahha\n”);
./file123.c:6: printf(“hahahhaahha\n”);
./file123.c:7: printf(“hahahhaahha\n”);
./file123.c:8: printf(“hahahhaahha\n”);
./file123.c:9: printf(“hahahhaahha\n”);
./file123.c:10: printf(“hahahhaahha\n”);
./fileB.c:4: printf(“88888888888888\n”);
./fileB.c:5: printf(“122344556\n”);

wc:统计指定文件里面的行数,单词数,以及字节数
用法:wc 文件名
wc结合管道来使用:eg:cat file123.c | wc -l -->统计file123.c该文件里面的行数

命令置换:一个命令的输出作为另一个命令的参数
格式:commmand1 commmand2
例如:echo today is :date —>打印出:today is :2020年7月7日…
使用场景:当想要一个命令先要输出,然后再要作为参数时,就要用到命令置换。

输入输出重定向:改变shell默认的输入和输出,默认的输入为键盘输入,默认的输出为终端窗口。
重新定向输出:> 重新定向输出结果到 > 后面的文件里面去 eg :cat file.c > catOutputValue.c
注意:当重定向到的文件如果已经存在时,则会删除掉原来的文件,同时会新建并打开进行保存。
重定向输出-追加模式 :>> eg:cat file11.c >> CatOutput.c
注意:如果重定向到的文件存在时,则会继续在其后面进行追加,而不会删除掉原来文件里面的内容。
重定向输入:< eg:wc < filename

2> :将错误信息重新定向到某个文件里面去 eg:cat NoExitFile.c 2> err.log

env:查看环境变量
添加环境变量:export 环境变量名=赋值

压缩,打包相关命令:
一,压缩相关:
(1)压缩:
方式一:调用压缩工具为gzip的工具来进行压缩–》gzip test.c
方式二:调用压缩工具为bzip2的工具来进行压缩–》bzip2 test.c
(2)解压:
解压方式一的压缩文件:gunzip test.c.gz
解压方式二的压缩文件:bunzip2 test.c.bz2

二,打包相关 :

	tar:
	    -c:打包
		-x:解包
		-v:动态显示执行过程---》可视化
		-f:指定文件名
		-t:列出包文件
		-z:调用gzip的压缩工具
		-j:调用bzip2的压缩工具

打包:tar -cvf test.tar file1.c file2.c
解包:tar -xvf test.tar

如果说向指明解包的位置:就可以在后面加上:-C +路径 的方式来做!!!
打包+压缩: tar -cvfz file.tar.gz file1.c file2.c file3.c
解压+解包: tar -xvfz file.tar.gz -C …/ --》代表解压解包到指定的上一级目录下去

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值