189 8069 5689

linux实现注入命令 linux注入进程方法总结

linux shell脚本执行命令详解

在Linux下,如果你需要执行shell脚本,那么应该使用那个命令呢?下面由我为大家整理了linux shell脚本执行命令的相关知识,希望对大家有帮助!

漳浦ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

linux shell脚本执行

linux shell脚本执行方法一: 切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:

cd /data/shell

./hello.sh

./的意思是说在当前的工作目录下执行hello.sh。如果不加上./,bash可能会响应找到不到hello.sh的错误信息。因为目前的工作目录(/data/shell)可能不在执行程序默认的搜索路径之列,也就是说,不在环境变量PASH的内容之中。查看PATH的内容可用 echo $PASH 命令。现在的/data/shell就不在环境变量PASH中的,所以必须加上./才可执行。

linux shell脚本执行方法二: 以绝对路径的方式去执行bash shell脚本:

/data/shell/hello.sh

   linux shell脚本执行方法三: 直接使用bash 或sh 来执行bash shell脚本:

cd /data/shell

bash hello.sh

cd /data/shell

sh hello.sh

注意,若是以方法三的方式来执行,那么,可以不必事先设定shell的执行权限,甚至都不用写shell文件中的第一行(指定bash路径)。因为方法三是将hello.sh作为参数传给sh(bash)命令来执行的。这时不是hello.sh自己来执行,而是被人家调用执行,所以不要执行权限。那么不用指定bash路径自然也好理解了啊。

linux shell脚本执行方法四: 在当前的shell环境中执行bash shell脚本:

cd /data/shell

. hello.sh

cd /data/shell

source hello.sh

前三种方法执行shell脚本时都是在当前shell(称为父shell)开启一个子shell环境,此shell脚本就在这个子shell环境中执行。shell脚本执行完后子shell环境随即关闭,然后又回到父shell中。而方法四则是在当前shell中执行的。

新手必备的Linux操作命令

一、cd命令(切换目录 )

(1)切换到目录 /usr/local

cd /usr/local

(2)去到目前的上层目录

cd ..

(3)回到自己的主文件夹

cd ~

二、ls命令(查看文件与目录)

(4)查看目录/usr下所有的文件

cd /usr ls -al

三、mkdir命令(新建新目录 )

(5)进入/tmp目录,创建一个名为a的目录,并查看有多少目录存在

cd /tmp

mkdir a ls -al

(6)创建目录a1/a2/a3/a4

mkdir -p a1/a2/a3/a4

四、 rmdir命令(删除空的目录)

(7)将上例创建的目录a(/tmp下面)删除

rmdir a

(8)删除目录a1/a2/a3/a4,查看有多少目录存在

rmdir -p a1/a2/a3/a4

ls -al

五、cp命令(复制文件或目录 )

(9)将主文件夹下的.bashrc复制到/usr下,命名为bashrc1

sudo cp ~/.bashrc /usr/bashrc1

(10)在/tmp下新建目录test,再复制这个目录内容到/usr

cd /tmp

mkdir test

sudo cp -r /tmp/test /usr

六、mv命令(移动文件与目录,或更名)

(11)将上例文件bashrc1移动到目录/usr/test

sudo mv /usr/bashrc1 /usr/test

(12)将上例test目录重命名为test2

sudo mv /usr/test /usr/test2

七、rm命令:移除文件或目录

(13)将上例复制的bashrc1文件删除

sudo rm /usr/test2/bashrc1

(14)将上例的test2目录删除

sudo rm -r /usr/test2

八、cat命令:查看文件内容

(15)查看主文件夹下的.bashrc文件内容

cat ~/.bashrc

九、tac命令:反向列示

(16)反向查看主文件夹下.bashrc文件内容

tac ~/.bashrc

十、more命令:一页一页翻动查看

(17)翻页查看主文件夹下.bashrc文件内容

more ~/.bashrc

十一、head命令:取出前面几行

(18)查看主文件夹下.bashrc文件内容前20行

head -n 20 ~/.bashrc

(19)查看主文件夹下.bashrc文件内容,后面50行不显示,只显示前面几行

head -n -50 ~/.bashrc

十二、tail命令:取出后面几行

(20)查看主文件夹下.bashrc文件内容最后20行

tail -n 20 ~/.bashrc

(21) 查看主文件夹下.bashrc文件内容,只列出50行以后的数据

tail -n +50 ~/.bashrc

十三、touch命令:修改文件时间或创建新文件

(22)在/tmp下创建一个空文件hello并查看时间

cd /tmp

touch hello ls -l hello

(23)修改hello文件,将日期调整为5天前

touch -d “5 days ago” hello

十四、chown命令:修改文件所有者权限

(24)将hello文件所有者改为root帐号,并查看属性

sudo chown root /tmp/hello

ls -l /tmp/hello

十五、find命令:文件查找

(25)找出主文件夹下文件名为.bashrc的文件

find ~ -name .bashrc

十六、tar命令:压缩命令

(26)在/目录下新建文件夹test,然后在/目录下打包成test.tar.gz

sudo mkdir /test

sudo tar -zcv -f /test.tar.gz test

(27)解压缩到/tmp目录

sudo tar -zxv -f /test.tar.gz -C /tmp

十七、grep命令:查找字符串

(28)从~/.bashrc文件中查找字符串'examples'

grep -n 'examples' ~/.bashrc

Linux系统与设置命令

在前面的两个章节中,我们主要介绍了Linux基本知识和虚拟机的安装,从当前章节开始,我们一起学习下Linux的基本命令,在当前章节,我们先简单的学习下一些系统的基本命令,慢慢的由浅入深,在后面的章节中我们将学习其他的命令比如文件操作、备份压缩等

命令我们可以理解成在Windows中我们常常为了查看ip输入的ipconfig,在Linux中也有很多的命令,比如操作目录、文件、网络、磁盘等等命令

使用者权限:管理员用户

参数说明:

添加用户czbk(传智播客的首拼)执行

我们使用useradd命令创建了一个用户czbk

useradd 可用来建立用户帐号。帐号建好之后,再用 passwd 设定帐号的密码。

执行如下

由上图我们发现,我们在使用useradd新增用户的时候,出现了权限不足,也就是说我们使用用户itcast没有创建用户的权限。

我们通过管理员账号root进行创建,首先我们从控制台中切换到root

在 密码的地方输入我们的root密码【root】即可进入到root用户下。

我们在root下继续创建czbk用户

以下是useradd常用选项

用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用

使用者权限:管理员用户

指定和修改用户口令的Shell命令是 passwd 。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为:

可使用的选项:

设置当前用户的口令

此处我们设置密码和itcast账号密码一致,为【Itheima888】

usermod 命令通过修改系统帐户文件来修改用户账户信息

修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。

使用者权限:管理员用户

修改已有用户的信息使用 usermod 命令,其格式如下:

下面命令将用户czbk用户名修改成czbk2019

以下是usermod常用选项

假如我们其中一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。

使用者权限:管理员用户

删除一个已有的用户账号使用 userdel 命令,其格式如下:

-f:强制删除用户,即使用户当前已登录;

-r:删除用户的同时,删除与用户相关的所有文件

此命令删除用户czbk2019

成功删除用户czbk2019

以下是userdel常用选项

引子:

为了方便用户管理, 提出了 组 的概念, 如下图所示

比如新建账户【张三】,那么它默认对应的组就是张三

一个用户可以有一个或者多个组

假如说(如上图),我们在企业级开发过程中,我们有多个组,其中一个开发组对应三个账户,张三、李四、王五、如果就像上面提到的,一个用户默认对应一个组,那么三个账户张三、李四、王五就有了三个不同的组,如果大家都操做一个文件,在进行权限分配的时候,就要对不同的三个组进行授权,显然这样是不合理的,因为太过繁琐。

所以,才有了组(新建组)的概念,我们把张三、李四、王五统一放到【开发组】,在对文件授权的时候,我们只对【开发组】进行授权由此,这样的话【张三、李四、王五】都有相等的权利操作了。

新增一个用户组(组名可见名知意,符合规范即可),然后将用户添加到组中

使用者权限:管理员用户

使用的选项有:

新增用户组czbk-it

上面的命令向系统中增加了一个新组czbk-it,新组的组标识号是在当前已有的最大组标识号的基础上加1

以下是groupadd常用选项

使用者权限:管理员用户

常用的选项有:

上面的命令将组czbk-it的组名修改为czbk-it-2019。

以下是groupmod常用选项

在查询用户所属的用户组前,我们先增加一个用户ituser-groups

要查询一个用户属于哪个用户组,使用groups命令,其格式如下

查询用户ituser-groups属于某个用户组,执行groups命令

由此可见,ituser-groups用户属于用户组ituser-groups(用户组默认与用户名一样)

使用者权限:管理员用户

要删除一个已有的用户组,使用groupdel命令,其格式如下

删除czbk-it-2019用户组

删除成功

以下是groupdel常用选项

1、创建一个新的组,并添加组ID(需要切换到root用户)

执行效果如下

2、创建3个用户(需要切换到root用户)

3、将上面三个用户添加到组itbj2020group

我们通过passwd命令将三个用户添加到组

什么是gpasswd:

gpasswd 是 Linux 下工作组文件 /etc/group 和 /etc/gshadow 管理工具,用于将一个用户添加到组或者从组中删除。

语法

将上面的三个用户使用gpasswd添加到组(需要切换到root用户)

执行如下

查看用户组下所有用户(所有用户)

执行效果如下(或者直接打开/etc/group文件都可以)

由上图可知:三个用户全部都加入到了itbj2020group组。

date 可以用来显示或设定系统的日期与时间

使用者权限:所有用户

语法如下:

参数

-d字符串:显示字符串所指的日期与时间。字符串前后必须加上双引号;

-s字符串:根据字符串来设置日期与时间。字符串前后必须加上双引号;

-u:显示GMT;

--help:在线帮助;

--version:显示版本信息

1、设置时间

用 -s选项可以设置系统时间,如下:

2、显示时间

协调世界时,又称世界统一时间、世界标准时间、国际协调时间。由于英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC。。

(2)GMT

即 格林尼治 平太阳时间,是指格林尼治所在地的标准时间,也是表示地球自转速率的一种形式

外文名: Universal Time

其他外文名 G.M.T.(Greenwich Mean Time)

(3)CST

北京时间 (中国国家标准时间) 北京时间是中国采用国际时区东八时区的区时作为标准时间 。 北京时间并不是北京(东经116.4°)的地方时间,而是东经120°的地方时间,故东经120度地方时比北京的地方时早约14分半钟。因为北京处于国际时区划分中的东八区,同格林尼治时间(世界时)整整相差8小时(即北京时间=世界时+8小时),故命名为“北京时间”。东八区包括的范围从东经112.5°到东经127.5°,以东经120°为中心线,东西各延伸7.5°,总宽度为15°的区域。 而中国幅员辽阔,东西相跨5个时区(即东五区、东六区、东七区、东八区、东九区5个时区)授时台必须建在地理中心地带,从而也就产生了长短波授。“北京时间”与“北京当地时间”是两个概念, “北京时间”的发播不在北京,而在陕西蒲城(处于东七区)

(4)东八区

东八区( UTC / GMT +08:00)是比 世界协调时间 (UTC)/ 格林尼治时间 (GMT)快8小时的时区,理论上的位置是位于 东经 112.5度至127.5度之间,是东盟标准的其中一个候选时区。当格林尼治标准时间为0:00时,东八区的标准时间为08:00

pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang="" cid="n486" mdtype="fences" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-indent: 0px; text-transform: none; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; box-sizing: border-box; overflow: visible; font-family: var(--monospace); font-size: 0.9em; display: block; break-inside: avoid; text-align: left; white-space: normal; background-image: inherit; background-size: inherit; background-attachment: inherit; background-origin: inherit; background-clip: inherit; background-color: rgb(248, 248, 248); border: 1px solid rgb(231, 234, 237); border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; padding: 8px 4px 6px; margin-bottom: 15px; margin-top: 15px; width: inherit; caret-color: rgb(51, 51, 51); color: rgb(51, 51, 51); position: relative !important; background-position: inherit; background-repeat: inherit;"总结:

上面提到了很多知识:即UTC/GMT/CST/东八区

总结一下就是,北京时间(中国国家标准时间CST)采用东八区区时,即:

协调世界时(UTC)+8 / 格林尼治时间(GMT)+8

也就是说+8后的时间才是北京时间/pre

logname命令用于显示用户名称。

执行logname指令,它会显示目前用户的名称

语法为如下:

参数 :

显示登录账号的信息

su命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。

使用权限:所有使用者。

语法如下:

变更帐号为 root 并在执行 ls 指令后退出返回原使用者

切换到root

这样的话,我们就进入到了root用户下。

id命令用于显示用户的ID,以及所属群组的ID。

id会显示用户以及所属群组的实际与有效ID。若两个ID相同,则仅显示实际ID。若仅指定用户名称,则显示目前用户的ID。

使用者权限:所有用户

语法

参数说明:

显示当前用户信息

执行效果如下

sudo:控制用户对系统命令的使用权限,root允许的操作。

通过sudo可以提高普通用户的操作权限

使用者权限:普通用户

语法如下:

sudo -V

sudo -h

sudo -l

sudo -v

sudo -k

sudo -s

sudo -H

sudo [ -b ] [ -p prompt ] [ -u username/#uid] -s

sudo command

参数说明 :

sudo命令使用

指定root用户执行指令

修改网卡配置文件

比如,在下面的例子中,我们使用普通用户修改网卡的配置文件,在进行保存的时候,提示我们【无法打开并写入文件】,那么此时,我们可以通过sudo命令来提升自己的写入权限

执行:

执行效果如下(保存)

然后点击回车

执行效果如下(键入itcast密码)

执行保存

top命令用于实时显示 process 的动态。

使用权限:所有使用者。

显示进程信息

执行效果如下

显示完整命令,与top命令不同的就是command属性像是进行了命令补全

执行效果如下

执行效果如下

Linux ps命令用于显示当前进程 (process) 的状态信息

使用者权限:所有用户

语法如下:

显示进程信息

显示指定用户信息

显示所有进程信息

Linux kill命令用于删除执行中的程序或工作(可强制中断)

使用者权限:所有用户

语法如下:

参数说明 :

杀死一个进程

强制杀死进程

彻底杀死进程

杀死指定用户所有进程

1.方法一 过滤出itcast用户进程

2.方法二,直接杀死

shutdown命令可以用来进行关闭系统,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown 也可以用来重开机

使用者权限:管理员用户

语法如下:

参数说明 :

立即关机

指定1分钟后关机,1分钟关机并显示警告信息

指定1分钟后重启,并发出警告信息

reboot命令用于用来重新启动计算机

使用者权限:管理员、普通(需要验证)用户

语法如下:

参数 :

开始重新启动

重启效果如下

who命令用于显示系统中有哪些使用者正在上面,显示的资料包含了使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等

使用者权限:所有使用者都可使用。

语法如下:

参数说明 :

显示当前登录系统的用户

显示明细(标题)信息

由上图可知,截止到现在只有itcast在线。

引子:

timedatectl是用于控制系统时间和日期。可以用来查询和更改系统时钟于设定,同时可以设定和修改时区信息。

在实际开发过程中,系统时间的显示会和实际出现不同步;我们一般为了校正服务器时间、时区的时候会使用timedatectl命令/pre

使用者权限:所有使用者都可使用,设置时间需要管理员,下面会标注。

几个常见的概念,进行总结如下:

显示系统的当前时间和日期,使用命令行中的timedatectl命令

执行效果如下

上图显示中国时区


文章题目:linux实现注入命令 linux注入进程方法总结
当前URL:http://cdxtjz.cn/article/hhhsgc.html

其他资讯