linux基本操作、命令以及shell脚本(第一周 A)

0.linux启动的步骤
设备加电----》BIOS自检-----》grub引导启动-----》加载内核----》系统初始----》用户登录

1.文件目录大致结构

****/:根目录

/bin:存储命令,/usr/bin存放用户命令
/root:超级管理员用户主目录
/etc:系统相关配置的文件
/home:家目录,存放用户的
/lib:共享库目录
/dev:设备目录
/mnt:一般作为挂载目录

2.终端的打开

1>ctrl+alt+t
2>点击左上角的搜索按钮,输入terminal,出来一个终端选项
注意:点击左边图标终端,将终端lock在桌面的左边

3.关机

1>右上角
2>在终端下怎么关机
(1)sudo shutdown -h now
(2)sudo init 0
(3)sudo reboot重启
3>关闭终端
exit

4>怎么获取超级管理员权限

su
?如果认证失败
(1)sudo passwd进行修改超级用户管理员权限的密码

4>超级用户管理员----》普通用户

exit

修改登录/用户密码
sudo passwd XXX用户

5.shell基本命令

1>pwd:present work directory显示当前的工作路径
2>ls:list显示当前工作路径下的目录或者文件
ls:显示当前目录下所有文件
ls -l:显示当前目录下所有文件并且告知文件的相关属性
ls -a:显示当前目录下所有文件(包括隐藏文件:点开头)
ls -al:集合上面两个特性
ls +具体路径:显示具体目录下的子文件或子目录

****3>清空终端屏幕****
(1)clear
(2)control + l

****4>切换目录****
cd:change directory:改变工作路径
cd +具体路径:切换到具体路径下面
cd:切换到用户主目录下
cd .:点代表当前路径
cd ..:点点代表当前目录的上一层目录
cd :代表用户主目录/home/xx用户
cd -:代表回到上一次操作的目录

****5>Tab键使用****
补全当前系统下已有的shell命令,补全文件名

****6>新建目录****
mkdir:make directory:创建目录
mkdir +文件名:在当前工作路径下创建目录文件
mkdir -p 1010/1009:创建1010目录的同时创建1009目录

****7>删除目录****
rmdir:remove directory:删除目录
rmdir +目录名:删除空目录,不能删除非空目录
rm -r +目录名:删除非空目录

****8>创建文件****
touch:创建普通文件
touch + 文件名:在当前目录下创建普通文件

****9>删除文件****
rm +文件名:在当前目录下删除对应的文件

****10>拷贝文件****
cp:copy拷贝文件
cp 要拷贝的文件 拷贝到哪个目录下

****11>移动或者是重名命****
mv:move移动文件
mv 要移动的文件 移动到哪个目录下
mv 要修改的文件 新的文件名

****12>查看文件内容不需要打开文件****
cat 文件名

****13>安装、升级、卸载软件****
sudo apt-get install xxx包 安装相关软件
sudo apt-get update 更新数据源
sudo apt-get remove xxx包 卸载相关软件

****14>文件权限修改****

  • rw-    r--     r--
    

分析:
(1)第一个字母决定文件是什么文件
-:代表普通文件
d:代表是目录文件
(2)第二个字母~第四个字母,决定文件属主用户对其文件执行的权限rwx;
r:可读
w:可写
x:可执行
(3)第五个字母~第七个字母,决定与属主用户同组的其他用户执行的权限
(4)最后几个字母,决定与属主用户不同组的其他用户执行的权限

(5)chmod使用
chmod 744 1.sh
chmod u+x 1.sh
chmod u+x,g+w,o+w 1.sh

u:user代表属主用户
g:group同组的其他用户
o:other不同组的用户
a:all代表所有人,不写默认为a

+:代表加某个权限
-:代表减掉某个权限

>6.vi 脚本

****1>是什么****
vi是一个文本编辑器
vim是vi的升级版本

****2>怎么安装****
sudo apt-get install vim
如果遇到?E:no package...问题,解决之道
sudo apt-get update

****3>vim使用****
(1)打开文件
vim 1.sh
(2)插入数据
按下i键,等待左下角出现insert字样时,开始写数据
(3)保存
按下ESC键,进入一个非可编辑模式,shift+:;输入w表示保存;
(4)退出
按下ESC键,进入一个非可编辑模式,shift+:;输入q表示退出;

****4>退出的方式****
****注意点:一定要在非可编辑模式下进行操作****
(1):w保存
(2):q退出
(3):wq保存并退出
(4):q!不保存退出
(5):wq!忽略之前保存的内容

****5>vim快捷键****
****注意点:一定要在非可编辑模式下进行操作****
u:撤销上一次的操作
dd:删除光标所在的一行
yy:复制光标所在的一行
p:粘贴到光标所在行的下一行
2 dd:删除从光标起数两行
2 yy:复制从光标起数两行

****如果要删除/复制多行,在非可编辑模式下进行操作,按下shift+v进入可视化模式,上下键选择要删除/复制的部分,按d/y键;****

****6>vim简单配置****
cd /etc/vim
sudo vim vimrc

来到最下面按i键进入插入模式
set mouse=a 鼠标选中
set nu 显示行号
syntax on 语法高亮
set autoindent 自动缩进
set tabstop=4 缩进tab键字符宽度
进行保存退出

****7.gedit ****
1>是什么
gedit是一个文本编辑器

****8.shell脚本执行****
1>chmod +x xx.sh
./xx.sh
2>sh xx.sh
****注意点:最好使用第一种****

****9.注释****

:代表注释单行

****10.shell脚本的特点****
1>shell脚本是一个弱类型的语言,不需要指定数据类型
2>如果变量没有定义,那么这个变量默认为空
3>如果shell脚本文件某一行出错,不会影响我整个程序的运行

****11.标识符的命名规范****
硬性规范
1>不能数字开头,
2>只能由字母,下划线,数字构成
3>不能与shell脚本的关键字相同if printf echo case等
建议:
1>不准用拼音,多查字典
2>建议使用驼峰命名规范numOfStudent
3>见名知义

****12.变量****
****1>变量的定义****
变量=值
注意点:
(1)变量一定义出来,就必须给他一个值,否则语法错误
(2)=号左右两边不能有空格
(3)如果右边是字符串,用""括起来

****2>变量的使用****
(1)以$符号开头
(2)加{},不是(),为了分清变量

****3>变量的删除****
(1)unset:删除变量,不需要加$,
(2)变量删除之后,这个变量默认为空

****4>只读变量****
(1)readonly value=7,表明这个变量将来不能被重新赋值
(2)readonly修饰的变量不能被unset删除

****13.echo用法****
echo:表示输出命令,输出echo后面的内容,会自动换行
1>echo后面是否加"",'',不加
(1)加''
''里面写什么输出什么

value="hello"
echo '$value'

输出结果是$value
(2)不加
降低程序的可读性
(3)加""
能避免上面两个缺点

****2>shell转义字符****
\n:代表换行
\t:相当于敲了一个tab键的宽度
\c:不换行,关闭echo命令本身换行的功能

****3>echo -e开启转义****
(1)如果是./xx.sh运行shell脚本,必须开启转义
value="hello"
echo "$value\n"是不会换行的

开启转义对特殊字符进行处理
echo -e "${value}\n"

(2)如果是sh xx.sh运行shell脚本,不需要开启转义
value="hello"
echo "$value\n"是会换行的

****14.字符串相关处理方法****
1>计算字符串长度

value="hello"
length=${#value}
echo "${length}"

2>字符串拼接

value1="hello"
value2="world"
value3="${value1} ${value2}"
echo "${value3}"

3>字符串截取

value1="hello world"
value2=${value1:6:5}     #字符串是从0开始,从字符串哪个位置截取,截取的长度
echo "${value2}"

你可能感兴趣的:(linux基本操作、命令以及shell脚本(第一周 A))