Linux常用指令和面试常考汇总(一)

今晚在准备京东提前批面试的时候,发现京东岗位需求有一点很显眼“了解linux及基本的操作命令”,面试渐渐临近,顿时感觉有点慌;自己想了想能够问那些指令,头脑一片空白;到午夜来整理一下Linux命令在平时写编译脚本比较容易用的,也看了一些实习公司同事写的shell脚本经常使用的,再翻翻以往大佬面试的面经,总结对比一下。

1、shell中变量$#,$$,$0....$n,$?

(1)$0 :Shell本身的文件名 ,如:用$0可以获得runMake.sh文件;

(2)$1~$n:Shell文件的各参数值(跟在.sh文件后的)。$1是第1参数、$2是第2参数…;

(3)$# :添加到Shell的参数个数 ,参数一般是以空格隔开;

(4)$? :最后运行的命令的结束代码(返回值) ;

(5)$@ :所有参数列表,"$@"用引号括起来的情况,以"$1" "$2" … "$n" 的形式输出所有参数;

(6)$$ :Shell本身的PID(ProcessID);

(7)$! :Shell最后运行的后台Process的PID ;

备注:

cd "$(dirname  "$0")"  //找到.sh文件所在的目录名

2、重定向输出

 在shell脚本中0表示标准输入,1表示标准输出,2表示标准错误输出,>和1>都是标准输出重定向

 2>&1表示把标准错误输出到标准输出,&>file表示把标准输出和标准错误输出都重定向到file文件中

rm -rf $(filename)  &> /dev/null  //将标准输出和标准错误输出都丢弃,/dev/null一个空设备文件
grep "\<shell\>" file.txt  >  log1  //log1里只有标准输出
grep "\<shell\>" file.txt  >  log2   1>&2  //log2里面什么都没有
grep "\<shell\>" file.txt  >  log2   2>&1  //log3里面既有标准输出又有标准错误输出

注:标准输出相当于stdout,标准错误输出为stderr,标准错误输出可以输出到屏幕中,可能不会输出到指定的log1..

3、字符串截取(主要用于文件管理比较多)

(1)# */:删除第一个/及其左边的字符串

(2)## */:删除最后一个/及其左边的字符串

(3)%%.*:删除最后一个.及其右边的字符串

(4)%.*:删除第一个.及其右边的字符串

ep:dirname=usr1/Gtest-share/lyf/factory.cpp

ehco  ${dirname ##*/}   --->结果是:factory.cpp

echo  ${dirname #*/}   --->结果是:Gtest-share/lyf/factory.cpp

echo ${dirname %.*}  --->结果是:cpp

(5)${dirname:0:4}   从左边第几个字符开始,及字符的个数

其中的 0 表示左边第一个字符开始,4 表示字符的总个数。--->结果是:usr1

(6)${dirname:5}  从左边第几个字符开始,一直到结束。
其中的 7 表示左边第8个字符开始,一直到结束。--->结果是:Gtest-share/lyf/factory.cpp

(7)${dirname:0-10:7}  从右边第几个字符开始,及字符的个数
其中的 0-10 表示右边算起第十一个字符开始,7表示字符的个数。--->结果是:factory
(8)${dirname:0-10}  从右边第几个字符开始,一直到结束。
表示从右边第十一个字符开始,一直到结束。--->结果是:factory.cpp

4、设置权限:chmod

(1)选项:

-c : 若该档案权限确实已经更改,才显示其更改动作 

-f : 若该档案权限无法被更改也不要显示错误讯息 

-v : 显示权限变更的详细资料 

-R : 对目前目录下的所有档案与子目录进行相同的权限变更

(2)who:u用户  g群组  o其它  a所有用户(默认)

(3)符号:+ 增加权限 -删除权限  =重新分配权限

(4)Mode: r读  w写  x执行

(5)文字设定法:
 chmod [who] [+ | - | =] [mode] 文件名

(6)数字设定法
  我们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。
  例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)
  数字设定法的一般形式为:
       chmod  数字 文件名

    ep:-rwxrwxrwx (777) -- 所有用户都有读、写、执行权限

 

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值