马上期末了,再不学来不及了。
一、前言说到Linux,不知道大家对他是什么看法,在我看来,他也就和我们经常使用的Windows一样,本质都是操作系统,那我们就可以通过操作Windows的思路来操作Linux。
使用操作系统最最最常用的操作就下面几种:
- 权限开通
- 文件和目录操作
- 文件查看和处理
- 打包和解压
Linux和Windows一样都可以安装图形化界面使得都可以通过窗口来使用操作系统,但是通过窗口使用Linux系统还是有很多局限性,不算真正地会使用Linux系统,所以了解Linux常用命令很重要。
二、常见命令 权限开通sudo su
我建议上来就输入sudo su。不然后面老是会出现权限问题,输入它之后也没必要后面的语句每次在开头都输入一个sudo了。
chmod 777 文件名 #给予文件最高操作权限(读写加)文件操作
精简版:
cd 目录名 #进入目录 mkdir 目录名 #创建目录 > 文件名 #创建文件 vim 文件名 #编辑文件 ./文件名 #执行文件
全面版:
cd <⽬录名> # 进⼊某个⽬录 cd ../ # 回上级⽬录 cd ../../ # 回上两级⽬录 cd # 进个⼈主⽬录 cd - # 回上⼀步所在⽬录 pwd # 显示当前路径 ls # 查看⽂件⽬录列表 ls -l # 查看⽂件和⽬录的详情列表 ls -a # 查看隐藏⽂件 tree # 查看⽂件和⽬录的树形结构 mkdir <⽬录名> # 创建⽬录 #删除 rm -f file1 # 删除'file1'⽂件 rmdir dir1 # 删除'dir1'⽬录 rm -rf dir1 # 删除'dir1'⽬录和其内容 #复制和移动 mv old_dir new_dir # 重命名/移动⽬录 cp file1 file2 # 复制⽂件 cp dir/* . # 复制某⽬录下的所有⽂件⾄当前⽬录 cp -a dir1 dir2 # 复制⽬录 cp -a /tmp/dir1 . # 复制⼀个⽬录⾄当前⽬录 #查找 find / -name file1 # 从根⽬录开始搜索⽂件/⽬录 find /dir -name *.bin # 在⽬录/dir中搜带有.bin后缀的⽂件 locate <关键词> # 快速定位⽂件 locate *.mp4 # 寻找.mp4结尾的⽂件 #查看文件 cat file1 # 查看⽂件内容vim编辑
下载vim:
新系统vim要提前下,打开命令窗口,输入
lsb_release -a #查看当前Linux版本
- ubuntu 则输入 sudo apt-get install vim-gtk - centos 则输入 yum -y install vim*
by the way,Ubuntu以后都是用apt-get下东西,CentOS以后都是用yum下东西。
使用vim:
一开始进入的命令模式,输入a之后就可以进入文本插入模式,即我所认为的编辑模式。
编辑完了按Esc,再次回到命令模式,输入:进入末行模式,即我所认为的退出模式,然后输入wq保存退出,输入wq!保存强制退出不保存。(建议看着这段话上手实操几遍就好了)
#zip包 zip xxx.zip file # 压缩⾄zip包 unzip xxx.zip # 解压zip包 #tar包 tar -cvf xxx.tar file # 创建⾮压缩tar包 tar -xvf xxx.tar # 解压tar包 tar -xvf xxx.tar -C /dir # 将tar包解压⾄指定⽬录 tar -tf xxx.tar # 查看tar包的内容 #bz2包 tar -cvfj xxx.tar.bz2 dir # 创建bz2压缩包 tar -jxvf xxx.tar.bz2 # 解压bz2压缩包 bunzip2 xxx.bz2 # 解压bz2压缩包 bzip2 filename # 压缩⽂件 #gzip包 tar -cvfz xxx.tar.gz dir # 创建gzip压缩包 tar -zxvf xxx.tar.gz # 解压gzip压缩包 gunzip xxx.gz # 解压gzip压缩包 gzip filename # 压缩⽂件三、Shell编程
每次先 > filename.sh 新建一个shell脚本文件,然后vim filename.sh,用vim开始编辑,输入代码然后退出,退出后,输入chmod 777 filename.sh 赋予权限,然后.filename.sh 执行shell脚本文件即可。
1 变量命名与输出
$变量名=值 #定义变量 export 变量名=值 #定义全局变量 echo $变量名 #输出打印变量 ` ` #倒引号 命令替换 实例:加减乘除 echo -n Enter a number: read a echo -n Enter another number: read b let Sum=$a+$b let P=$a*$b echo Sum: $a + $b =$Sum echo Product:$a x $b = $P
用反引号,将shell命令引起来,可以将shell命令的输出值赋给变量,
和$()作用一样,但是反引号使用范围更广。
2 if分支语句
if [条件表达式] then 语句 else 语句 fi
3 while循环语句
while 条件表达式 do 语句 done 实例:输出3 to 7 i=3 while(($i<=7)) do echo $i let i++ done
4 until循环语句
until 条件表达式
do
语句
done
实例:输出 8 to 4
a=8
until(($a==3))
do
echo $a
let "a--"
done
5 for循环语句
for 循环变量 in 循环变量取值的集合
do
语句
done
实例1:输出1 to 999
for count in $(seq 1 999)
do
echo $count
done
实例2: 统计当前文件下txt文件数量
let count=0
for files in `ls *.txt`
do
let count++
done
echo $count
实例3: 统计当前文件下的txt文件数量,没有txt文件也不会报错
let count=0
for files in 'ls'
do
name=${files#*.}
if [ "$name" == "txt" ]
then
let count++
fi
done
echo $count
想要不换行,语句末尾加 ; (和C++思路一样)



