Linux系统入门,学习笔记,简易教程

Linux系统入门笔记

写在前面

本人大一,啥都不懂,纯粹以啥都不懂的角度写的笔记。这篇笔记是我在跟着bilibili up主正月点灯笼 的教学视频学习时整理的,这里是他的视频地址Linux入门教程。这个up讲课讲的超级好,强烈推荐!!!一定要给他投币点赞哦(众所周知bilibili是个学习网站)

喜欢的话点赞收藏哦~

1.简单命令

代码 作用
date 打印系统时间
cal 打印今天日历
cal+年份 打印某年日历
cal+月份+年份 打印某月日历
clear 清屏

2. Linux的文件相关

  • 总目录是叫root,Linux中用 /

  • 文件的类型是三段式的

    u-g-o : user-group-other 作者-小组-其他

    r:read可读。 w:write可写。 e:execute可运行

    一些代码

代码 作用
pwd 显示当前目录
cd / 跳到总目录
ls 列出所在目录下文件
ls -l 列出所在目录下所有文件的详细信息
cd 【文件夹名字】 进入文件夹
cd … 退回上一级目录
mkdir 【文件夹名字】 创建文件夹
rmdir 【文件夹名字】 删除文件夹
cp 【A】 【B】 将【A】复制成为【B】
cat 【A】 查看文件内容
diff 【A】 【B】 对比两个文件有没有区别,一样就没反应,有的话会有提示
head 【文件名字】 -n 【数字】 查看这个文件的开头几行(tail是看最后几行)
wc 【文件名】 word count数文件里面多少行(-l),多少个单词(-w),大小(-c)
rm 【文件名】 删除文件(没有回收站)
mv 【A】 【B】 把A的名字改成B
mv 【文件名】 xxx/(目录) 移动
less 【文件】 以阅读器的方式打开,按q退出
chmod 修改权限,比如chmod u-r xxx.txt作者不能读。chmod u+r xxx.txt作者可以读了。chmod go -r xxx.txt除了作者都不能读了。
grep 【正则表达式】【文件名】 在文件中查找(正则表达式)内容,红色代表重复(更复杂的用法找help)
./ 运行可执行文件

3.Linux脚本

3.1 一些补充

  • 重定向符号> <
  • 脚本:指的是一堆Linux命令或者其他命令。我们把它写到一个文件里面,结尾.sh

  • 脚本中的命令可直接在命令行中执行

3.2 脚本的运行

sh xxx.sh可以运行该脚本

3.3 变量(脚本里面)variable

a=10         #设置一个变量10,‘=’两边不能打空格
echo $a      #echo用于输出,类似C语言中的printf,’$‘符号:Linux中要读取时要加$,但是赋值不加。

echo "Hello world"     #输出字符串,可以不写双引号(写了更好看)
脚本支持计算
a=1
b=2
c=`expr $a + $b`    #这里用的符号是数字1左边那个符号。expr 个指令。乘法用'\*',单独的乘号是认作正                      则表达式,括号也是类似的用法。ps:运算符两边要加空格
echo $c
条件语句
a=1
b=2

if [ $a -gt $b ]   #-gt是大于的意思
then
	echo $a
else
	echo $b
fi

一些符号对应关系

C语言符号 Linux脚本 英文解释 中文解释
= -eq equal 等于
!= -ne not equal 不等于
> -gt greater than 大于
< -lt less than 小于
>= -ge greater than 大于等于
<= -le less than 小于等于
循环语句
#for循环
for x in 1 2 3 4 5 6 7 8 9 10
do
	echo $x
done
#或者这样写
for x in {1...10}
do
	echo $x
done

#while循环
x=1
while [ $x -le 10 ]
do
	echo $x
	x=`expr $x + 1`
done

3.4 字符串

字符串的定义

a="hello"
b="world"

输出

echo $a
echo $b

echo "$a $b "    #将ab输出在同一行,中间那个空格会直接输出,双引号可不要

输入

read

例1:用户输入两个数字,求和

echo "Please enter a: "
read a

echo "Please enter b: "
read b

c=`expr $a + $b`
echo $a + $b = $c

例2:判断字符串是否一致(验证密码)

passward="hello world"

echo "Please enter a: "
read userPassword

if [ $password = $suerPassword] #相同只有一个等号,不相同是'!='
then
	echo "密码正确!"
else
	echo "密码错误!"
fi

字符串拼接

str1="hello"
str2="world"

str3="$str1 $str2"
echo $str3

判断一个字符串是否是空的

if [ -n $str ]       #-z判断这个字符串是不是零(zero) -n判断是不是不是零
then 
	echo "str1 不是空的"
else
	echo "str1 是空的"
fi

3.5 数组

sh可能不支持数组,若包含数组,要用bash

arr=(7 8 9 10)

echo ${arr[0]}      #这里下标和C语言是类似的
echo ${arr[1]}

for i in ${arr[@]}  #类比C语言的for循环
do                  #i走的是元素本身
	echo $i
done

例:输出数组最大值

arr=(7 8 9 10 4 5 6 7)

max=${arr[0]}
for i in ${arr[@]}
do
	if [ $i -gt $max ]
	then 
		max=$i
		fi
done
echo $max

4. 全局变量

4.1 USER

当前用户名

4.2 HOME

保存了用户主目录

cd ~cd $HOME

4.3 PATH 环境变量

我们把写好的程序放在环境变量之下,就可以到处运行了

PATH=$PATH:/home/workspace,假设这个目录下面有程序example的话,那么在哪里都可以运行example

注意上面那个代码用的是(不同于win用的

5.文件压缩

5.1zip

zip CProgram.zip *   #在某个目录下压缩,'*'代表全部文件
zip test.zip -r test/*  #层层打包

unzip CProgram.zip   #解压

5.2tar

tar -zcvf A.gz A/B   #将目录压缩为A.gz

参数含义

  • -z:按照gzip压缩算法压缩
  • -c:创建目标
  • -v:显示压缩过程
  • -f:文件重命名
tar -zxvf A.gz      #解压A.gz至目录

6. 网络下载

命令wget URL(网址) -O A

ps:-O是大写的英文字母,A是重命名

发布了10 篇原创文章 · 获赞 15 · 访问量 452

猜你喜欢

转载自blog.csdn.net/itLance/article/details/104276802