马上期末了,再不学来不及了。
一、前言
说到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++思路一样)