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

相关内容

热门资讯

离开旧爱,想坐慢车,看透彻了心... 离开旧爱,想坐慢车,看透彻了心就会是晴朗的 是哪首歌?分手快乐,梁静茹的一首老歌分手快乐 梁静茹 我...
火影忍者决斗场什么忍者能卡进墙... 火影忍者决斗场什么忍者能卡进墙里波风水门。1、利用瞬身术进竖核入墙内:首先选信尘择一个合适的墙壁,然...
只有再爱一次,才能忘记前男友吗... 只有再爱一次,才能忘记前男友吗?你可以多和你的好朋友谈心啊,多结交一些朋友一样可以让你淡忘他,不一定...
女的穿越时空回到古代朝鲜的言情... 女的穿越时空回到古代朝鲜的言情小说古灵的《替身》
求一部动漫,很久以前看的,忘记... 求一部动漫,很久以前看的,忘记了名字。是关于一个少女变身用扑克牌行窃的故事。圣少女(提醒:变身后穿黑...
好听的歌 劲爆的 伤感的 忧伤... 好听的歌 劲爆的 伤感的 忧伤的 都行求要听的 欢快 忧伤的都行 只要好听 分享下呗Gee-少...
汤圆创作里面容易签约嘛?难度怎... 汤圆创作里面容易签约嘛?难度怎么样?是特别好看的文文才会成功嘛?什么地方,没听说过。
异界小说 男主被冰封了 然后有... 异界小说 男主被冰封了 然后有一帮来拍电影的女的在洗澡的时候发现了他! 好像是这样的就记得这些还有点...
选择词语填在横线上(快来帮帮我... 选择词语填在横线上(快来帮帮我吧)调整 整顿 矗立 伫立1、调整 整顿2、耸立 伫立调整 整顿矗立...
朴灿烈香水百瑞德,灿烈用的是百... 朴灿烈香水百瑞德,灿烈用的是百瑞德哪种香味的香水?朴灿烈喜欢用的百瑞德香水是银色山泉这款,这款香水是...
精神分析的学习与自我成长的联系... 精神分析的学习与自我成长的联系?心理学专业人士来答卡伦 霍尼《神经症与人的成长》,如果你是专业的,你...
怎么就没一首我喜欢听的歌 怎么就没一首我喜欢听的歌你最喜欢听的歌,听久了也会腻。心情不要那么浮躁,就会找到你喜欢的那首歌
如果把地球直线挖通的话,人跳进... 如果把地球直线挖通的话,人跳进去会摔死还是会掉到另一端呢?应该会直接摔死,因为地球中心才是非常复杂的...
和男朋友分手,他居然说谢谢我给... 和男朋友分手,他居然说谢谢我给他上了一堂人生课,什么意思?虽然你们分手了,但是你们一起度过了一段人生...
带口哨的纯音乐 带口哨的纯音乐曲名:The Voyage艺人:The Mountaineering Club Orc...
禾葡兰的禾善基金的理念是什么? 禾葡兰的禾善基金的理念是什么?禾善基金是有什么理念呢?禾善基金是禾葡兰创办的互助基金会,基金会的救助...
名侦探柯南给工藤新一的挑战书每... 名侦探柯南给工藤新一的挑战书每集开头那段音乐,有完整的吗,不是剧场和动画那个!那首歌是仓木麻衣的《T...
路漫漫其修远兮的下一句 路漫漫其修远兮的下一句路漫漫其修远兮,吾将上下而求索”这句出自屈原的名作《离骚》。“路漫漫其修远兮,...
海伦凯勒的背景 海伦凯勒的背景 海伦·凯勒(Helen Keller)(1880年6月27日-1968年6月1日...
激情燃烧的岁月实际上就是中国人... 激情燃烧的岁月实际上就是中国人焕发出巨大的劳动热情2.咱们工人有力量的歌曲,焕发的是现代人的激情。以...