LinuxC相关命令

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

top

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

ps

查看所有的进程机器PID(进程号)

ps  -ef

除了可以显示-ef显示的之外,还可以显示内存及其CPU的占有率

ps  -aux

立刻关机

sudo  shutdown  -h  now

10分钟后关机

sudo  shutdown  -h  +10

重新启动

sudo  reboot

列出所有可用的信号名称

kill  -l

执行可用的信号名称(比如第九个信号:杀死进程)

kill  -9  PID(进程号)

查看当前系统内存的使用情况

free

查看文件系统的磁盘空间的占用情况

df

统计目录(或文件)所占磁盘空间的大小

du

查看硬盘分区情况

sudo  fdisk  -l

修改文件的访问权限(方法一)

chmod  修改命令  文件名

r:可读

w:可写

x:可执行

全部权限(a)

用户权限(u)

用户组权限(g)

其他用户权限(o)

增加或删除或设置权限(+/-/=)

修改文件的访问权限(方法二)

chmod  文件权限  文件名

文件权限:有权限(rwm)为1,无权限(-)为0,再将表示权限的二进制转化为十进制

添加用户

sudo  adduser  用户名

删除用户

sudo  deluser  用户名  --remove-home

修改用户密码

sudo  passwd  用户名

添加组

sudo  groupadd  组名

删除组

sudo  groupdel  组名

修改用户所在组

sudo  usermod  -g 目标组 被修改用户名

修改文件所属用户

sudo  chown  目标用户名  文件名

修改文件所属

sudo  chown  :目标组名  文件名

同时修改文件所属用户和组

sudo  chown  目标用户名:目标组名  文件名

修改文件所属

sudo  chgrp  目标组名  文件名

起别名(一次性)

alias  别名=“目标命令”

起别名(永久生效)

vi  .bashrc

alias  别名=“目标命令”

输出

echo “输出内容”

printf(“输出内容”)

反单引号:将输出里面的命令显示出来

echo “输出内容`命令`

在终端中退出循环

Ctrl+C

查看文档(适合短文)

cat  文档名

查看文档(适合长文)

回车:下翻一行

空格:下翻一页

q:退出

more  文档名

查看文档(适合长文)

除了more的功能以外,上下键也可以翻行

less  文档名

统计文档行数

wc  -l  文档名

统计文档字节数

wc  -c  文档名

统计文档单词数

wc  -w  文档名

匹配任意个字符

*

匹配一个字符

匹配指定的一个字符

[指定字符]

匹配指定的一个字符范围

[起始字符-结尾字符]

除了指定的一个字符,匹配其他字符

[^指定字符]

|:将前一个命令的输出作为后一个命令的输入

例:ls  文件名  |  grep  文件名

输出重定向(>:将命令输出的内容放在目标文件中,若文件不存在,则新建文件,若文件存在,则覆盖文件内容

命令  >  文件名

追加重定向(>:将命令输出的内容放在目标文件中,若文件不存在,则新建文件,若文件存在,则追加文件末尾

命令  >>  文件名

查看所有的环境变量

env

shell程序中的注释语句

#

硬链接:利用Linux中为每个文件分配的物理编号建立链接

ln  相对路径  链接名.c

软链接:利用文件的路径名建立链接

ln  -s  相对路径  链接名.c

硬链接与软链接的异同

相同点

ln会保持每一处链接文件的同步性,不论改动了哪一处,其它的文件都会发生相同的变化

不同点

硬链接:会在用户选定的位置上生成一个和源文件大小相同的文件

软链接:会在用户选定的位置上生成一个文件镜像,不会重复占用磁盘空间,平时使用最多的是软链接

压缩打包相关命令

压缩文件

gzip  文件名

生成:文件名.gz

bzip2  文件名

生成:文件名.bz2

解压文件

gzip  -d  压缩包名

gunzip  压缩包名

bzip2  -d  压缩包名

bunzip2  压缩包名

主要参数

c:打包

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

x:解包

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

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

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

压缩目录

打包:tar  -参数  名字.tar  文件名  文件名......

压缩:gzip  名字.tar

打包压缩一步完成:tar  -参数  名字.tar.bz2  文件名  文件名......

解包目录

解压:gzip  -d  压缩包名

解压:tar  -参数  名字.tar  文件名  文件名....

解压解压一步完成:tar  -参数  名字.tar.bz2

临时添加环境变量(只对当前终端有效,关闭无效)

export  PATH=$PATH:绝对路径

永久添加环境变量

sudo  vim  /etc/profile

在文件的末尾添加export  PATH=$PATH:绝对路径

保存后重启(sudo  reboot)或source  /etc/profile

用户管理命令

打开系统能够识别的用户清单

vi  /etc/passwd

打开加密的用户清单

sudo  vi  /etc/shadow

打开组的名称和组的成员列表

vi  /etc/group

创建shell脚本

vim  命名.sh

给.sh文件添加权限

chmod  777  命名.sh

运行.sh文件

./名字.sh

告诉计算机使用哪个版本的shell解析我们的代码

#!/bin/bash

用户自定义变量规则

由数字、字母、下划线组成

首字母不能为数字

shell中变量一般用大写字母表示

用户自定义变量注意事项

任何赋给变量的值都被shell解释为一串字符

给变量赋值时,等号两边都没有空格

取用变量的值时,在变量名前加$

定义位置变量

编译

输入:./文件名.sh  1  2  3  4  5  6  7  8  9  10

echo  “0----------------------$0”

echo  “1----------------------$1”

echo  “2----------------------$2”

echo  “3----------------------$3”

echo  “4----------------------$4”

echo  “5----------------------$5”

echo  “6----------------------$6”

echo  “7----------------------$7”

echo  “8----------------------$8”

echo  “9----------------------$9”

echo  “10----------------------${10}”

输出:0----------------------./文件名.sh

      1----------------------1

      2----------------------2

      3----------------------3

      4----------------------4

      5----------------------5

      6----------------------6

      7----------------------7

      8----------------------8

      9----------------------9

      10----------------------10

注意:变量中有多个字符时,使用{ }括起来

输出命令行参数的个数

$#

输出所有命令行参数

$@

输出所有命令行参数

$*

输出前一个命令的退出状态(在shell中0为真,非0为假)

$?

输出正在执行的进程的ID号

$$

输出(换行,原样输出)

echo  “内容”

输出(不换行,原样输出)

echo  -n  “内容”

输入(法一)

read  变量1  变量2  ...

输入(法二)

read    -p  “原样输出内容”  变量1  变量2  ...

输入(法三)

(原样输出内容后面有换行)

read    -p  “原样输出内容

  变量1  变量2  ...

输入(法四)

(当输入的过程中有空格时,分多次进行输入)

read  变量1

read  变量2

命令行输入格式:

变量1内容

变量2内容

算数运算命令(简单的整数运算)

加:+

减:-

乘:\*

除:/

取余:%

算数运算命令(法一)

expr  $变量1  运算符  $变量2

算数运算命令(法二)(反单引号)

(将结果赋值给一个变量)

变量名`expr  $变量1  运算符  $变量2`

echo  “变量名=$变量名”

算数运算

注意事项

想要将结果赋值给一个变量必须使用反引号

expr与变量以及变量与运算符直间必须加空格

test命令:测试字符串、整数、文件属性(主要用于)

输出前一个命令的退出状态(在shell中0为真,非0为假)

$?

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

(一样为0,不一样非0)

test  $字符串1  =  $字符串2

echo  $?

测试两个字符串内容是否有差异

(一样为1,不一样非0)

test  $字符串1  !=  $字符串2

echo  $?

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

(长度为零时为0)

test  -z  $字符串

echo  $?

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

(长度不为零时为0)

test  -n  $字符串

echo  $?

test命令

注意事项

test可以用[ ]来代替,“[”的右边和:“]”的左边以及运算符的左右两边必须有空格

测试两整数是否相等

(相等为0,不相等为1)

[  $整数1  -eq  $整数2  ]

echo  $?

测试两整数是否不相等

(相等为1,不相等为0)

[  $整数1  -ne  $整数2  ]

echo  $?

测试整数1是否大于整数2

(是为0,否为1)

[  $整数1  -gt  $整数2  ]

echo  $?

测试整数1是否大于等于整数2

(是为0,否为1)

[  $整数1  -ge  $整数2  ]

echo  $?

测试整数1是否小于整数2

(是为0,否为1)

[  $整数1  -lt  $整数2  ]

echo  $?

测试整数1是否小于等于整数2

(是为0,否为1)

[  $整数1  -le  $整数2  ]

echo  $?

测试文件是否为一个目录

(是为0,否为1)

[  -d  $文件名  ]

echo  $?

测试文件是否为普通文件

(是为0,否为1)

[  -f  $文件名  ]

echo  $?

测试文件是否为符号链接

(是为0,否为1)

[  -L  $文件名  ]

echo  $?

测试文件是否存在且可读

(是为0,否为1)

[  -r  $文件名  ]

echo  $?

测试文件是否存在且可写

(是为0,否为1)

[  -w  $文件名  ]

echo  $?

测试文件是否存在且可执行

(是为0,否为1)

[  -x  $文件名  ]

echo  $?

测试文件是都存在且长度不为0

(是为0,否为1)

[  -s  $文件名  ]

echo  $?

测试文件1是否比文件2更新

(是为0,否为1)

[  $文件名1  -nt  $文件名2  ]

echo  $?

测试文件1是否比文件2更旧

(是为0,否为1)

[  $文件名1  -ot  $文件名2  ]

echo  $?

单分支选择语句

多分支选择语句

多路分支语句

for语句

if [表达式]

then

语句

fi

if [表达式1]

then

语句1

elif[表达式2]

then

语句2

.......

elif[表达式n]

then

语句n

else

语句n+1

fi

case 字符串 in

模式1)

命令表1

;;

模式2)

命令表2

;;

   .....

模式n)

命令表n

;;

       *)

        ;;

esac

for 变量名 in 单词表

do

语句

done

双分支选择语句

单词表1:

for  变量名  in  1  2  3  4

单词表2:(1~10)

for  变量名  in  {1..10}

单词表3:(10~1)

for  变量名  in  {10..1}

单词表4:(10  8  6  4  2)

for  变量名  in  {10..1..2}

单词表5:(10~1)

for((i=1;i<10;i++))

if [表达式]

then

语句1

else

语句2

fi

while语句

break

continue

while [表达式]

do

语句

done

break  n

跳出n层循环

continue  n

结束n层循环,进行下一轮循环

函数的定义

(方法一)

函数的定义

(方法二)(常用)

函数的定义

(方法一)

函数的定义

(方法二)(常用)

函数名()

{

}

function 函数名()

{

}

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

反单引号

函数名 实际参数

子函数中的$n并非shell中的$n

子函数中的所有输出(return  主程序中变量)都传递给了主程序中的变量(都在一行)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追求~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值