shell命令语句和程序

1.用户切换命令(su)     

su - 用户名  ==  su- : 改变路径;

top   :动态显示系统中运行的程序;

ps:显示当前系统中由该用户运行的进程列表;

ps - ef:查看所有的进程机器PID(进程号);

ps - aux:除了-ef外,还可以显示内存及cpu占有率;

sudo shut down -h now :  立刻关机,sudo reboot:重启;

kill -i:列出所有信号名称      kill - 9 (进程号)杀死进程;

free :查看当前系统内存使用情况;

df :查看文件系统磁盘空间占情况;

du:统计目录(或文件)所占空间或者磁盘空间大小;

fdisk 用示查看硬盘分区情况;     fdisf - I(使用必须用root权限)

2.   chmod(改变文件的访问权限)u 文件拥有者,g 所属的用户组,o 其它用户,+:表示增加权限,-:表示删除权限,=:设置权限

r(可读权限)  w(写权限) x(可执行权限)

chown:修改文件的所有者和组别   sudo chown  修改后的用户名:组名  文件名

chgrp : 修改文件的组所有权           sudu chgrp 组名 文件名

alias:起别名       例如:alias 名字=“ls - lh”

`  `(反引号)引住的内容以命令输出  `date`;

cat 查看文档    more  查看长文档;

wc - l:统计文件有多长       wc - c :统计文件有多少个字节;

*:匹配任意长度的字符串     mv * .c text(将所有带.c的文件移到text文件夹里面)

grep字符串:查找字符串;

>:输出重定向,如果文件不存在,则新建,如果文件存在则覆盖文件中的内容

>>:追加重定向,如果文件不存在,则新建,如果文件存在则追加在文件的末尾

2.压缩打包命令

压缩:gzip(压缩完后缀.gz)  bzip2(压缩完后缀.bz2);

解压:gzip - d  压缩包名          bzip2  -d   压缩包名

tar:对文件目录进行打包或解包

主要参数:

-c:打包                -x:解包

-v:显示打包或解包的详细信息

-f:指定包名(该参数必须放在最后)

-z:调用gzip来压缩打包文件,与-x连用时完成解压缩

-j:调用bzip2来压缩打包文件,与-x连用时完成解压缩

将打包压缩一体化:  tar   -cvjf   new.tar.bz2

将解包 解压  一体化:tar   -xvjf   new.tar.bz2

3.环境变量

env:查看系统中所有的环境变量 

临时添加(关闭终端就不存在了):export  PATH=$PATH: 路径

永久添加:

(1)sudo vim /etc/profile

(2)在文件的末尾添加export PATH=$PATH:

(3)添加完成之后重启或者source /etc/profile

4.用户管理命令

/etc/passwd 系统能够识别的用户清单

/etc/shadow 加密的用户清单,只有超级用户可以访问,用来保护加密口令的安全

/etc/group  组的名称和组的成员列表

添加用户:sudu adduser  用户名

删除用户:sudo deluser 用户名 -remove-home

添加组  :sudo groupadd 组名

删除组:sudo groupdel 组名

修改密码:sudo passwd 用户

5.安装软件

sudo apt update(更新检查)

安装软件:sudo apt install 包名

删除软件:  sudo apt remove 包名

6.shell脚本

  1. 新建文件vim 1.sh
  2. 编辑文件
  3. 给.sh文件添加x权限
  4. chmod 777 1.sh

  5. 运行

6.1用户自定义变量 

shell中允许用户建立 变量存储类型,不支持数据类型

(1)由数字、字母、下划线组成,

(2)首字母不能为数字

(3)shell中变量一般用大写表示

注意:给变量赋值时,等号两边都没有空格           取用变量的值时,在变量名前加$

6.2预定义变量

$#:包含命令行参数的个数

$@:包含所有命令行参数

$*:包含所有命令行参数

$?:包含前一个命令的退出状态(在shell中0为真,非0为假)

$$:包含正在执行的进程的ID号

6.3 shell语句和程序 

#:表示注释

输入   echo:自带换行

echo “hello shell”

不换行:echo -n “hello shell”

输入  read  变量名

read  -p"打印提示语

"变量名

算术运算命令expr主要用于进行简单的整数运算、+、-、\*、/、%

6.4 测试字符串

s1 = s2 测试两个字符串的内容是否完全一样

s1 != s2 测试两个字符串内容是否有差异

-z s1  测试s1字符串的长度是否为0

-n s1 测试s1字符串的长度是否不为0

测试整数

a -eq b 测试a与b是否相等

a -ne b 测试a与b是否不相等

a -gt b  测试a是否大于b

a -ge b 测试a是否大于等于b

a -lt b  测试a是否小于b

a -le b 测试a是否小于等于b

测试文件属性

-d name 测试name是否为一个目录

-f name 测试name是否为普通文件

-L name 测试name是否为符号链接

-r name 测试name是否存在且可读

-w name 测试name是否存在且可写

-x name 测试name是否存在且课执行

-s name  测试name是都存在且长度不为0

f1 -nt f2 测试文件f1是否比文件f2更新

f1 -ot f2 测试文件f1是否比文件f2更旧

7.结构性语句

单分支

if [表达式]

then

语句

fi

双分支

if [表达式]

then

语句1

else

语句2

fi

多分支

if [表达式1]

then

语句1

elif[表达式2]

then

语句2

.......

elif[表达式n]

then

语句n

else

语句n+1

fi

case多分支

case 字符串 in

模式1)

命令表1

;;

模式2)

命令表2

;;

   .....

模式n)

命令表n

;;

       *)

        ;;

esac

for语句

for 变量名 in 单词表

do

语句

done

while语句

while [表达式]

do

语句

done

7.2函数

方法1:

函数名()

{

}

方法2:

function 函数名()

{

}

调用

方式1:

变量=`函数名 实际参数`

方式2:

函数名 实际参数

注意:一般使用的是方式2

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值