NDK Linux命令、VIM、Shell脚本
创始人
2024-06-03 15:44:39
0

Linux命令、VIM、Shell脚本

Linux环境

Windows10使用Linux的Windows子系统:https://www.bilibili.com/video/BV1CJ411F7Ax?
from=search&seid=3123114751993441823

Linux常用快捷键

Tab 【补齐】
Ctrl + A 【光标最前面】
Ctrl + E 【光标最后面】
Ctrl + U 【光标清除】
上、下【切换之前输入的命令】

Linux文件操作

cd file 【进入目录】
cd .. 【返回上一级目录】
cd . 【就是在当前目录 相当于啥事都没有做了】
cd 【回到根目录】
pwd 【查看当前路径】
ls 【大概目录】
ls -all 【详细目录】
ls -lh 【xxKB,详细目录】
clear 【清除屏幕】
date 【服务器的时间】
mkdir NDK24 【创建文件夹】
touch file01.txt 【创建文件】
ls -all 【查看全部】
-rw-r--r-- 1                 root    root  0    Apr 25 20:33 file01.txt
文件权限  软链接数(Win快捷方式) 当前root 所属组 0大小 时间
rm -rf file02.txt 【删除文件】 
ls -R 【查看 目录、文件夹 里面的详情】
ls -all 【查看全部】
-rw-r--r-- 1 root root 0 Apr 25 20:33 file01.txt
- 【普通文件】
d 【目录】
l 【软链接(Win快捷方式】
c 【字符设备文件】
b 【块设备文件】
p 【管道】
s 【套接字】
rm New02/ 【没法递归遍历删除】
rm -rf New02/ 【递归遍历删除】
cp f.txt New/ 【copy f文件 New文件夹】
mv f.txt fff.txt 【重命名】
vim :wq w保存 q退出

Linux文件读取

临时环境变量:我关闭窗口后,就消失了回话
export AAAA=1234567
echo $AAAA
全局环境变量:一直存在系统中
vim /etc/profile 加入 export jin="jin爆了"
source profile 【修改的生效】
echo $jincat file05.txt 【快速查看,只读的】
vim file05.txt 【C C++ 高亮】
vi file05.txt 【无 C C++ 高亮】
tac file05.txt 【倒序查看内容】
more file05.txt 【百分百查看 相当于分页 敲回车分页】
head -2 profile【查看两行 前面的】
tail -3 profile【查看3行 后面的】

Linux中的用户与用户组

ls -all
-rw-r--r-- 1 root root 0 Apr 25 21:26 file02.txt
chmod 777 file02.txt 【获取可读可写可执行权限】
-rwxrwxrwx 1 root root 0 Apr 25 21:26 file02.txt
- 文件类型 d 目录
rwx 【第一组:当前自身所在用户权限 rwx 可读可写可执行】
rwx 【第二组:代表同组的权限 rwx 可读可写可执行】
rwx 【第三组:代表其他用户的权限 rwx 可读可写可执行】数字限定:777 【4可读 2可写 1可执行】 = 7
chmod 777 file04.txt 【可读可写可执行,可读可写可执行,可读可写可执行】
-rwxrwxrwx 1 root root 0 Apr 25 21:44 file04.txt字母限定发: 纠结: w写 r读 x可执行
chmod 000 file04.txt 【取出所有权限】
chmod +x file04.txt 【默认三组 可执行】
---x--x--x 1 root root 0 Apr 25 21:44 file04.txt
chmod +r file04.txt 【默认三组 可读】
-r--r--r-- 1 root root 0 Apr 25 21:44 file04.txt
chmod +w file04.txt 【第一组 可写】
--w------- 1 root root 0 Apr 25 21:44 file04.txt
u user(第一组)
g group(第二组)
o other(第三组)
a all (所有组)
chmod u+rwx file04.txt 【专门给第一组 加入 可读可写可执行】
-rwx------ 1 root root 0 Apr 25 21:44 file04.txt
chmod g+rwx file04.txt 【专门给第二组 加入 可读可写可执行】
----rwx--- 1 root root 0 Apr 25 21:44 file04.txt
chmod g+rwx file04.txt 【专门给第三组 加入 可读可写可执行】
-------rwx 1 root root 0 Apr 25 21:44 file04.txt
chmod a+rwx file04.txt 【三组全部 ,可读可写可执行,相当于 777】
-rwxrwxrwx 1 root root 0 Apr 25 21:44 file04.txt

VIM使用

vim file05.txt
默认是命令模式,输入 i 进入编辑模式,下面标记会出现 INSERTXX
aaa
aaa
aa
按 esc 键 进入 命令模式
按 : 进入 末行模式 输入 wq在命令模式下操作
u 【撤销 恢复】
i 【输入 ,光标不动】
I 【输入,光标前面】
a 【输入 ,光标退后一个】
A 【输入 ,光标到行末尾】
s 【输入 ,光标删除所在字符】
S 【输入 ,光标删除所在整行】
:q! 【强制退出,不保存】
h 【左】
j 【下】
享学课堂
赋值粘贴
查找替换
分屏操作
03-Shell语法之 变量的定义与使用
vim test01.sh
k 【上】
l 【右】
5G 【跳转到多行】 【不常用】
gg 【第一行】
G 【最后一行】
:set number 【显示行号】
$ 【行尾】
0 【行首】
dw 【删除单词】
dd 【删除一行】
3dd 【删除三行】
yy 【复杂一行】
dd 【剪切一行】
p 【刚刚yy、dd复杂/剪切的,粘贴到当前光标行】
P 【刚刚yy,dd复杂剪切的,粘贴到下一行】
/define【查找 define内容】
r + p 【把当前光标的字符替换成 p】
:s /printf/printxxx 【光标所在行,替换成printxxx】
1,6s /printf/printxxx/g 【1 ~ 6行 替换成printxxx,默认从第一行开始】
:%s /printf/printxxx/g 【整个代码,把所有的printf 替换 printxxx】
:vsp 【左右两个屏幕】
:sp 【上下两个屏幕】
ctrl + ww 【切换屏幕】
q 【退出当前屏幕】
wqall 【退出全部屏幕】
chomd 777 test01.sh
./test01.sh 【mac测试,其他的Linux服务器测试 都没有问题】
/bin/bash test01.sh 【调用解释器 bash】
sh test01.sh 【调用解释器 sh】
[root@iZuf65b1ojlcudtv4gurq7Z NDK25]# sh test01.sh
Derry Success
[root@iZuf65b1ojlcudtv4gurq7Z NDK25]# /bin/bash test01.sh
Derry Success
[root@iZuf65b1ojlcudtv4gurq7Z NDK25]#

vim编写C/C++开发

vim T1.c
gcc T1.c -o T1 【-o代表输出的意思,输出T1这个可执行文件】
./T1

Shell语法

vim test01.sh

chomd 777 test01.sh

./test01.sh 【调用解释器 sh】

/bin/bash test01.sh 【调用解释器 bash】

sh test01.sh 【调用解释器 sh】

echo $? 监测上一个命令成功情况 0 成功

#!bin/bash
# 相当于弱类型的语法,注意:不能搞中文输入法
# 我才是注释
# A = 10 A= 10 错误的写法
A=10
echo "Success"
echo A==$A

sh test02.sh AAA BBB

#!bin/bash
echo "AAAAAAAAAAAAAAAAAA"
age=99
echo age: $age
echo PWD: $PWD
#-----------------------
echo 当前Shell脚本的名称是: $0
echo 参数一:$1
echo 参数二:$2
#----------------------
echo "本次执行状态如下:"
if(($?));then
echo "本次执行失败"
else
echo "本次执行成功"
fi
echo "外界传递了参数内容是:this\ is $*"
echo "外界传递了参数的数量: this\ is $#"

Shell循环+文件读写

seq 1 10 【内置 1 到 10 输出打印】

#!/bin/bash
# 使用 `seq 1 20` 作为我们的数据源,然后我们遍历这个数据源,学习循环操作
for i in `seq 1 20`
do
echo "遍历的数字是:$i"
done

expr 200 + 300 【内置的 做运算】

#!/bin/bash
# 做累加操作
# 这里不要有空格
a=0
for((f=0;f<=100;f++))
do
# 注意:加的时候,必须加空格,否则有问题
a=`expr $f + $a`
done
echo "最后累加1~100的值是:$a"

Shell指定某些类型文件的打压缩包功能

find . -name "*.sh" 【查找.sh文件】

tar czf all.taz *.sh 【把所有的 sh文件,压缩成包 all.taz】

#!/bin/bash
# 查找当前目录下,所有的.sh文件,进行打包操作
for i in `find . -name "*.sh"`
do
tar -czf derryAll.tgz $i
done
#!/bin/bash
# 查找当前目录下,所有的.sh文件,进行打包操作
a=0
for i in `find . -name "*.sh"`
do
a=`expr $a + 1`
tar -czf all+$a.tgz $i
done

Shell While循环

#!/bin/bash
i=0
while((i<100))
do
i=`expr $i + 1`
echo "遍历的值:$i"
done

Shell读文件

注意:必须先有file01.txt 文件

#!/bin/bash
# 读取文件里面的内容,然后打印出来
# 得到当前的目录路径
echo $PWD
echo `pwd`
# --------------
while read lineVarAA
do
享学课堂
09-if语句 语法详解:
10-算数运算符:
echo $lineVarAA
done<`pwd`/file01.txt

Shell if语句

#!/bin/bash
NUM1=100
NUM2=200
if(($NUM1>$NUM2));then
echo "OK"
else
echo "else"
fi
if(($NUM1<$NUM2));then
echo "OK"
fi

Shell 算数运算符

#!/bin/bash
var1="abcde"
var2="zzzzz"
# 判断是否相等
if [ $var1 = $var2 ]
then
echo "等于"
else
echo "不等于"
fi

Shell 重定向

屏幕 < 内容 【右到左 重定向】
cat 屏幕的内容 AAAAAAAAAAAAAAAAAAAAA
cat 0< file01.txt 【0代表屏幕的标记 < 把内容重定向到 屏幕 所以显示】屏幕 > 内容 【左到右 重定向】
echo CCCCCCCCCCCCCC > file02.txt

Shell 函数

#!/bin/bash
# 函数的学习
function test01() {
echo "我是一个函数"
}
test01 # 调用此函数
# -----
# 函数里面是可以定义变量的,不要去考虑,堆 栈 弹栈,他就是脚本
function test02() {
var1="Kevin"
var2="Derry"
echo $var1
echo $var2
echo "我是一个函数"
}
# 函数传递参数 重点
function test03() {
echo "我是一个函数,参数是:`expr $1`"
}
test03 99999 # 内置传递参数
# 函数传递参数 重点
function test04() {
echo "我是一个函数,参数是:`expr $1`"
}
test04 $1 # 脚本配合 内置传递参数
function test05() {
echo "我是一个函数,参数是:`expr $1`"
}
test05 $1 # 脚本配合 内置传递参数

相关内容

热门资讯

Python|位运算|数组|动... 目录 1、只出现一次的数字(位运算,数组) 示例 选项代...
张岱的人物生平 张岱的人物生平张岱(414年-484年),字景山,吴郡吴县(今江苏苏州)人。南朝齐大臣。祖父张敞,东...
西游西后传演员女人物 西游西后传演员女人物西游西后传演员女人物 孙悟空 六小龄童 唐僧 徐少华 ...
名人故事中贾岛作诗内容简介 名人故事中贾岛作诗内容简介有一次,贾岛骑驴闯了官道.他正琢磨着一句诗,名叫《题李凝幽居》全诗如下:闲...
和男朋友一起优秀的文案? 和男朋友一起优秀的文案?1.希望是惟一所有的人都共同享有的好处;一无所有的人,仍拥有希望。2.生活,...
戴玉手镯的好处 戴玉手镯好还是... 戴玉手镯的好处 戴玉手镯好还是碧玺好 女人戴玉?戴玉好还是碧玺好点佩戴手镯,以和田玉手镯为佳!相嫌滑...
依然什么意思? 依然什么意思?依然(汉语词语)依然,汉语词汇。拼音:yī    rán基本解释:副词,指照往常、依旧...
高尔基的散文诗 高尔基的散文诗《海燕》、《大学》、《母亲》、《童年》这些都是比较出名的一些代表作。
心在飞扬作者简介 心在飞扬作者简介心在飞扬作者简介如下。根据相关公开资料查询,心在飞扬是一位优秀的小说作者,他的小说作...
卡什坦卡的故事赏析? 卡什坦卡的故事赏析?讲了一只小狗的故事, 我也是近来才读到这篇小说. 作家对动物的拟人描写真是惟妙...
林绍涛为简艾拿绿豆糕是哪一集 林绍涛为简艾拿绿豆糕是哪一集第三十二集。 贾宽认为是阎帅间接导致刘映霞住了院,第二天上班,他按捺不...
小爱同学是女生吗小安同学什么意... 小爱同学是女生吗小安同学什么意思 小爱同学,小安同学说你是女生。小安是男的。
内分泌失调导致脸上长斑,怎么调... 内分泌失调导致脸上长斑,怎么调理内分泌失调导致脸上长斑,怎么调理先调理内分泌,去看中医吧,另外用好的...
《魔幻仙境》刺客,骑士人物属性... 《魔幻仙境》刺客,骑士人物属性加点魔幻仙境骑士2功1体质
很喜欢她,该怎么办? 很喜欢她,该怎么办?太冷静了!! 太理智了!爱情是需要冲劲的~不要考虑着考虑那~否则缘...
言情小说作家 言情小说作家我比较喜欢匪我思存的,很虐,很悲,还有梅子黄时雨,笙离,叶萱,还有安宁的《温暖的玄》 小...
两个以名人的名字命名的风景名胜... 两个以名人的名字命名的风景名胜?快太白楼,李白。尚志公园,赵尚志。
幼儿教育的代表人物及其著作 幼儿教育的代表人物及其著作卡尔威特的《卡尔威特的教育》,小卡尔威特,他儿子成了天才后写的《小卡尔威特...
海贼王中为什么说路飞打凯多靠霸... 海贼王中为什么说路飞打凯多靠霸气升级?凯多是靠霸气升级吗?因为之前刚到时确实打不过人家因为路飞的实力...
运气不好拜财神有用吗运气不好拜... 运气不好拜财神有用吗运气不好拜财神有没有用1、运气不好拜财神有用。2、拜财神上香前先点蜡烛,照亮人神...