灯神Linux学习笔记【一】

Linux 中的基础知识点总结(一)

date #输出当前时间
cal  #打印本月日历
cal 2020  #打印2020年的日历
cal 1 2020 #打印2020年1月份日历
cal 5 1 2020 #打印2020年1月日历,并选中1.5日
pwd #显示当前所在文件夹
ls -l #执行后若最左边有drwxr--xr-r,最左字母是d则是文件夹,最左边是-则是文件
clear #清楚当前屏幕(就是把有内容的一直往上划了下)
mkdir 文件夹名称  #在当前位置新建文件夹
rmdir 文件夹名称  #删除某非空文件夹
cp 文件a 文件b  #复制文件a,并将新文件命名为文件b
cat 文件名 #查看文件内容
diff 文件a 文件2   #比较两个文件内容差异  返回空则代表文件一模一样 ,否则会提示在某个位置差异在哪
head 文件a #查看文件头内容
head 文件a -n 5  #查看文件a的前5行
tail 文件b #查看文件尾内容
tail 文件b -n 6 #查看文件b后6行内容
wc 文件a  #word count  查看文件中有几个单词 
-->数字a 数字b 数字c 文件名  【总共有a行,a行中有b个单词,a行中或者b个单词中共有c个字符】
#结果的第一个数字a表示文件共有多少行
#结果的第二个数字b表示这些行中共有多少个单词
#结果的第三个数字b表示这些行中共有多少个字符
wc -w 文件a #查看文件a有多少个单词
wc -l 文件a #查看文件a有多少行【line】chmod
wc -c 文件a #查看文件a中有多少个字符
rm 文件名 #删除某文件【这样就完全被删除了 找不回】
mv 文件1 文件2 #将文件1命名为文件2
mv 文件1 文件夹1/  #将文件1移动到文件夹1【注意大小写是敏感的】
less 文件a #查看文件内容less命令类似于文件浏览器,使用 less 文件名称 能够使用上下左右键查看文件中的内容,按 【q】 能够返回命令行模式,退出查看
#三段 u g o  分别为作者、小组成员、其他,其中分别有r、w、x,即#读、写、运行
chmod u-r 文件1 #去掉作者对该文件的读权限
chmod u+r 文件1 #加上作者对该文件的读权限
chmod go-r 文件1 #只有作者有读权限,小组和其他没有,go即g和o
chmod 444 文件1 #为三者ugo都赋予读的权限  rwx作为2进制,取001 010 011 100 101 110 111,然后换算成十进制数,1 2 3 4 5 6 7 ………… 
grep 字段1 文件1 #查看文件1中是否有字段1  有的话则返回该字段以及包含该字段的字符串,且为红色
grep ll* 文件1  #在文件1中查找至少出现一次的带l的字符串【*代表很多次】
grep ^H 文件1  #在文件1中查找以大写字母H开头的的所有字符串  如Hello,【Ac Hello就不算】
grep ^Ho 文件1  #在文件1中查找以字母Ho开头的的所有字符串  如Hello,【Ac Hello就不算】
grep H.ll 文件1   #在文件1中查找H开头,接下来是任意一个字母,然后是ll的字符串
grep [Hh]ill 文件1 #在文件1找Hi或者hi开头的然后是ll的字符串。【Hh】代表可以是大H,也可是小h
grep [A-Za-z]ill 文件1 #在文件1找出任意含有[?ill]的字符串
grep [A-Za-z]ill 文件1 | wc #计数文件1找出任意含有[?ill]的字符串的数量
grep [A-Za-z]ill 文件1 | wc -l #输出件1找出任意含有[?ill]的字符串的行数
><叫redirect(重定向符号)
ls > 1.txt #新建1.txt,并输出【已含有1.txt】当前文件夹下所有的文件名和文件夹名到1.txt中
sh a.sh   #手动运行a.sh脚本  文件
#echo是shell的输出,相当于c的printf,
#变量前边需要加$,如a=10  echo $a  ,切记 赋值时不要使用$,使用变量要先加$,且不能有多余的空格
#如a = 10 是错误的【赋值的地方不能有空格,运算符左右两边要有空格】
echo "字符串"  #输出字符串,有没有双引号都行,但建议有
expr用来计算式子,
#如 a=10 b= 3 c=`expr $a + $b` echo $c 【式子用``括起来】【运算符左右要有空格】
#如 a=10 b= 3 c=`expr $a \* $b` echo $c 【式子用``括起来】【运算符左右要有空格】,乘法的时候加个\来转义,否则*会被作为匹配所有的意思,加减乘除+-*/只有乘号*需要转义,()也需要转义,\(,\)
if语句语法,if开头 fi结尾 
if[……]
then
……
else
……
fi
比较数字时符号是
不等号 -ne  即not equal 
等于号 -eq  即equal 
大于号 -gt  即greater than
小于号 -lt  即less than
大于等于号 -ge  即greater equal
小于等于号 -le  即less equal
而不是=  >=  <=  >  <  <> !=

循环语句
for 变量x in ……   #如 for x in 1 2 3 4 5 6 7 8 9 10代表x在1-10中循环,然后执行do里的语句
do 
……
done
#也可以 for x in {1..10},但是看版本支持不支持了
while [ 条件 ]  #注意[右边  和  ]左边都有一个空格
do
……
done
#如
x=1
while [ $x -le 10 ]
do
echo $x
x=`expr $x + 1`
done
#linux字符串的处理[加不加双引号都行]
a="hello"
b=world 
echo $a $b  等价于echo "$a $b"

read a  #输入a【犹如c语言的scanf】,此时不用加$
#如
echo "Please enter a"
read a 
比较字符串相等是=
linux中if进行比较时括号里是一个=,其他语言是两个==
比较字符串不相等!=
str3="$str1 $str2" #linux拼接字符串,并以空格相隔,不加空格就连着了
if[ -z $str1 ]  #判断str1是不是空字符串【是不是0】  -z是zero,代表为空【差不多是布尔型】
if[ -n $str1 ]  #判断str1是不是非空字符串【是不是非0】  -n是不为空,与-z相反

数组
arr=(a b c d)
代码中有字符串或者数组,就别用sh *.sh了,使用bash *.sh才不报错
下标也是从0开始,记得用{}括起来
输出数组arr中b的值,echo ${arr[1]}
打出全部的内容,需要用循环
如分别打印:
for i in ${arr[@]}  #此时i是元素本身的值,而不是相应的下标
do
echo $i
done
求和
sum=0
for i in ${arr[@]}  #此时i是元素本身的值,而不是相应的下标
do
echo sum=`expr $sum + $i`
done
echo $sum

找最大值
sum=${arr[0]}
for i in ${arr[@]}  #此时i是元素本身的值,而不是相应的下标
do
if[ $i -gt $max ]
then 
max=$i
fi
done
echo $max

vim example.c  #此时会新建example.c文件,并进入编辑页面,然后写c脚本
gcc example.c -o example  #进行编译
./example    #执行

#脚本中的代码可以拆出来在外边一句一句运行

全局变量【global virable】【大写】
$USER   
echo $USER  #输出当前用户名称
$HOME
echo $HOME 或者echo ~     #输出用户主目录,$HOME等价于~
$PATH
echo $PATH  #输出本机的环境变量,每个环境变量之间是以分号:隔开的,但windows是分号;

[root@iZ2ze02j36rdfvh1ip1indZ lds]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin


环境变量

查看demo.c当前所在目录
比如在/usr/lds,想要在其他路径下执行lds下的demo.c
那么需要将其加入到环境变量中就可以了
PATH=$PATH:/usr/lds          #【linux是以分号:隔开的】
【原来的变量$PATH  拼上:  需要加的变量即/usr/lds】
环境变量要小心修改,要是PATH=/路径   会把所有的环境变量清空掉

#常用linux命令
zip a.zip *  #将当前路径下所有文件打包压缩到压缩包a中【下边会显示压缩率】
zip a.zip -r /usr/*  #将usr下所有文件和文件夹进行压缩, -r代表递归【包含子文件夹】
unzip a.zip #进入到a.zip所在文件夹后执行该命令,进行解压
tar -zcvf a.tar.gz /usr/lds/    #进行压缩
#z代表使用gzip进行压缩,
#c是创建目标【压缩】,
#v是显示压缩过程,
#f是重命名,如a.tar.gz
tar -zxvf a.tar.gz /usr/lds/    #进行解压缩
#注意:c变成x了,解压,这几个字母顺序并不固定

wget url #下载文件
wget url -O 新名字.tar.gz  #将下载的压缩包命名成新名字的【大写的O】 



















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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值