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 # 脚本配合 内置传递参数

相关内容

热门资讯

隔夜要闻:美股收高 穆迪下调美...   欲览更多环球财经资讯,请移步7×24小时实时财经新闻  市场  收盘:本周标普指数上涨5.3% ...
诚志股份有限公司关于参加江西辖... 证券代码:000990 证券简称:诚志股份 公告编号:2025-025诚志股份有限公司关于参加江西...
哈尔滨新光光电科技股份有限公司... 证券代码:688011 证券简称:新光光电 公告编号:2025-18哈尔滨新光光电科技股份有限公司...
黑土地充满投资吸引力 转自:黑龙江日报 □本报记者 孙铭阳 “我切身感受到,黑龙江正在开启高质量发展、可持续...
昱能科技股份有限公司关于董事会... 证券代码:688348 证券简称:昱能科技 公告编号:2025-023昱能科技股份有限公司关于董事...
太平洋证券股份有限公司诉讼进展...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! 证券代码:60109...
智慧养老前景可期 可穿戴设备收集健康数据、毫米波雷达识别跌倒情况、虚拟养老院提供照料服务……近年来,随着物联网、人工智...
张家港保税科技(集团)股份有限... 证券代码:600794 证券简称:保税科技 编号:临2025-029张家港保税科技(集团)股份有限...
强对流天气频繁组团来袭,该如何... 转自:上观新闻昨日,北京气象台发布了三个预警信息,雷电、冰雹和大风的天气,这已经是本周内发布的第二个...
浙江省围海建设集团股份有限公司... 证券代码:002586 证券简称:*ST围海 公告编号:2025-048浙江省围海建设集团股份有限公...
持续近2小时,俄乌在土耳其谈成... 转自:上观新闻俄罗斯和乌克兰代表团16日在土耳其伊斯坦布尔举行关于和平解决乌克兰危机的会谈,当天的双...
返乡创业正当时 “我们壮乡的花米饭是用植物天然色素染色,这种黄色糯米是用密蒙花煮的,蓝色是用蝶豆花,黑色是用枫树叶…...
青神发放首笔畜禽养殖设施增信贷... 本报讯(四川日报全媒体记者 底伊乐 眉山观察 曾永丽)“我们目前已发放400万元贷款,还有100万元...
大唐国际发电股份有限公司关于中... 证券代码:601991 证券简称:大唐发电 公告编号:2025-023大唐国际发电股份有限公司关于...
把“15分钟社区生活圈”评估提...   新华社北京5月16日电(记者 王立彬)为城市规划定期体检,查“症状”、消“病灶”,减轻或避免“城...
停车场车辆起火 美国佛罗里达州... 转自:央视央视记者获悉,当地时间5月16日,美国佛罗里达州杰克逊维尔国际机场当日因停车场车辆起火而关...
以军称已启动对加沙大规模攻势 以色列国防军当地时间16日发表声明称,以军已经启动对加沙地带的大规模攻势,即代号为“基甸战车”的军事...
转型,迎向市场新风口 转自:贵州日报 德江县融媒体中心 何佳有 黄明跃 邓雅珲三人一组,一人手提茶袋、两人提着采茶机,穿梭...
河南双汇投资发展股份有限公司关... 证券代码:000895 证券简称:双汇发展 公告编号:2025-18河南双汇投资发展股份有限公司关...
芯片新规:美国低估了中国,高估... 美国商务部日前发布公告,宣布加强对全球芯片出口管制的新规。新规以莫须有的罪名,声称在世界任何地方使用...