9.指令

指令与选项

什么是Linux的指令?

指在Linux终端(命令行)中输入的内容就称之为指令。

 

一个完整的指令的标准格式:Linux通用的格式

#指令主体(空格) [选项](空格) [操作对象]

一个指令可以包含多个选项

操作对象也可以是多个

例如:需要让张三同学帮忙去楼下小卖铺买一瓶农夫山泉水和清风餐巾纸,在这个指令中“买东西”是指令的主体,买的水和餐巾纸是操作的对象,农夫山泉、清风是操作的选项。

Linux命令中参数一般都是无序的特殊情况下除外;

磁盘管理命令

ls(列出目录内容)

参数

-a 查询所有文件和文件夹包含隐藏的(Linux中隐藏文档一般都是以“.”开头。)

 

-l 查询详细列表    ls -l   简写为ll

 

-h 友好展示信息  简写为 ll -h

 

d开头是目录-开头是普通文件,l 开头是链接文件

 

需求展示某个目录下的内容    ls 目录名

所在位置:/root

想要查看:/etc目录下的内容

命令ll -h /etc

含义:列出指定路径下的所有文件/文件夹的名称

关于路径(重要):

路径可以分为两种:相对路径、绝对路径。

相对路径:相对首先得有一个参照物(一般就是当前的工作路径);

相对路径的写法:在相对路径中通常会用到2个符号“./”【表示当前目录下】、“../”【上一级目录下】。

绝对路径:绝对路径不需要参照物,直接从根“/”开始寻找对应路径

pwd(打印当前工作目录)

用法:#pwdprint working directory,打印当前工作目录(绝对路径))

cd(change directory) 切换目录

cd ../    向上一层目录

cd /      ,切换到Linux的根目录

cd /目录名  任意目录 切换到指定目录中     /目录名  Linux的绝对路径

windows:  c:/xxxx/xxx.jpg

cd~ ,切换到当前用户家目录。Root用户家目录 /root    回家

cd - ,切换到上一次访问的目录。   只能两个目录相互切换 

 

Linux绝对路径  cd /etc/x1     先切换到/目录,然后在/目录中找到子目录etc,在etc中找子目录x1

在任意目录都可以随意切换

 

Linux相对路径cd x1/x2        在当前目录中寻找子目录x1, x1中寻找子目录x2

必须确定当前目录下有子目录x1

mkdir创建目录make directoriy) 

mkdir -p 文件夹名称  

-p 父目录不存在情况下先生成父目录 (parents

需要在/root/t1目录下创建一个t2目录

位置:/root

命令:相对:mkdir t1/t2

  绝对mkdir /root/t1/t2

需要在/root/t3目录下创建一个t4目录

位置:/root

条件:t3t4都不存在

命令mkdir -p t3/t4

mkdir 路径1 路径2 路径3 ….  【表示一次性创建多个目录】

rmdir(删除空目录)

文件浏览命令

日志文件,XML,properties文件

cat  (快捷查看当前文件的内容)

cat适合查看少量信息的文件(大文件只能查看到后面一部分内容)

 用法:cat 文件名

more (分页显示文件内容)

用法: more 文件名

操作:

Enter    向下n行,需要定义。默认为1

空格键  向下滚动一屏 Ctrl+F

B  返回上一屏 或 Ctrl+B

q       退出more

less -mN ( 分页显示文件内容,标注每行的行号)

-m显示类似more命令的百分比

-N显示每行的行号操作

操作:

Enter    向下n行,需要定义。默认为1

空格键  向下滚动一屏 Ctrl+F

B  返回上一屏 或 Ctrl+B

q       退出less

d:前进半页

u:后退半页

y:后退一行或方向键向上

/字符串:向下搜索

?字符串:向上搜索

v:进入vim编辑器

左右方向键:相当于水平滚动条

适用于大量数据的查看

tail (查看文件后X行的内容)

例如tail -10 文件名  查看文件的后10行内容

文件操作命令

cp(复制文件或者目录)

复制文件

cp 需要复制的文件 复制的位置

需求/root/Demo1.java文件 复制到  /root/t1 目录中

位置/root

命令:cp Demo1.java t1

  cp /root/Demo1.java /root/t1

需求/root/Demo1.java文件 复制到  /root/t1 目录中,改名为ddd.java

位置/root

命令:cp Demo1.java t1/ddd.java

复制目录

cp -r 需要复制的文件 复制的位置

需求/root/t5目录 复制到  /root/t1目录中

位置/root

命令:cp -r t5 t1

  cp -r /root/t5 /root/t1

mv(移动或更名现有的文件或目录move) 

文件/目录移动:

mv需要移动的文件 移动的位置

需求/root/t5 目录 移动到 /root/t3目录中

位置/root

命令mv t5 t3

需求/root/t5 目录 移动到 /root/t3目录中

不询问直接覆盖

位置/root

已知/root/t3目录中 已经有一个t5目录了

命令mv -f t5 t3

文件/目录更名操作:

需求/root/Demo1.java  改名为 hehe.java

位置/root

命令:mv Demo1.java hehe.java

rm(删除文件或目录remove) 

删除文件:

rm 文件名(需要询问)

rm -f文件名(不需要询问)

删除目录

rm -rf目录名

需求删除/root/t5 目录,

位置/root

已知t5目录下有子目录或者文件

命令rm -rf t5

注意:

rm -rf *     删除当前目录下所有内容

rm –rf /*    删除Linux系统根目录下所有内容

find(在某个目录下查找文件或目录)

语法:find 目录 -name '需要查找的文件名字符串'

*表示0~多个任意字符

需求查找/root目录下 所有以ins开头的文件或者目录

位置/root

命令find /root -name ‘ins*'

系统命令

ps (查看服务器的进程重点)

指令:ps

作用:主要是查看服务器的进程信息

选项含义:

-e:等价于“-A”,表示列出全部的进程

-f:显示全部的列(显示全字段)

执行结果:

列的含义:

UID:该进程执行的用户id;

PID:进程id(杀死进程的时候需要)

PPID:该进程的父级进程id,就是该进程是她父亲进程调用启动的,如果一个程序的父级进程找不到,该程序的进程称之为僵尸进程(parent process ID);

C:Cpu的占用率,其形式是百分数;

STIME进程的启动时间;

TTY:终端设备,发起该进程的设备识别符号,如果显示“?”则表示该进程并不是由终端设备发起;

TIME:进程的执行时间;

CMD:该进程的名称或者对应的路径;

案例:(100%使用的命令)在ps的结果中过滤出想要查看的进程状态

#ps -ef|grep “进程名称

例如查看火狐浏览器的进程:

kill

强制杀死某个进程:kill -9 pid

需求查看进程  vim相关的进程有哪些,并将vim进程杀死

命令:ps -ef|grep -i vim

  Kill -9 pid

案例:需要killApache的进程

kill命令作用相似但是比kill更加好用的杀死进程的命令:killall

语法:#killall 进程名称

 

默认参数下,kill 发送SIGTERM(15)信号给进程,告诉进程,你需要被关闭,请自行停止运行并退出。

执行完该指令后,操作系统会发送一个 SIGTERM 信号给对应的程序。当程序接收到该信号后,可能会发生以下几种情况的一种:
当前程序立刻停止;
程序释放相应资源,然后再停止;
程序可能仍然继续运行。
大部分程序会先释放自己的资源,然后再停止。但是也有程序可以在接受到信号量后,继续做其他一些事情,并且这些事情是可以配置的。如果程序正在等待IO,可能就不会立马做出响应。也就是说,15) SIGTERM 是可能被阻塞、被忽略的。


kill -9 发送SIGKILL信号给进程,告诉进程,你被终结了,请立刻退出。
TERM(或数字9)表示“无条件终止”;
因此 kill - 9 表示强制杀死该进程;与SIGTERM相比,这个信号不能被捕获或忽略,同时接收这个信号的进程在收到这个信号时不能执行任何清理。

如果 15) SIGTERM 可以不进行响应?那 9) SIGKILL就是必杀信号,多半 ROOT 会直接使用这个命令,但并不推荐这么做。
小结:在使用 kill -9 前,应该先使用 kill -15,给目标进程一个清理善后工作的机会。如果没有,可能会留下一些不完整的文件或状态,从而影响服务的再次启动
与kill命令不同的是,killall 命令可以根据进程名称来杀死进程。kill 命令 则先需要找到进程的id。

killall 也和ps或pgrep 结合使用,比较方便。如下:

1 [root@-linux-byx ~]# pgrep -l magic_Linux
2 13020 magic_Linux01
3 22761 magic_Linux02
4 25279 magic_Linux03
5 27694 magic_Linux04

killall 命令实例:  用killall 杀死 进程 magic_Linux02

[root@-linux-byx ~]# killall magic_Linux02

ifconfig(查看网卡相关信息

作用:用于查看网卡相关的指令。

简单语法:#ifconfig (获取网卡信息

Eth0表示Linux中的一个网卡,eth0是其名称。Loloop,本地回还网卡,其ip地址一般都是127.0.0.1)也是一个网卡名称。

ping ip地址(测试和目标的连通性)

测试和目标的连通性:

会持续不断一直测试直到ctrl+c

 reboot(重新启动计算机)

作用:重新启动计算机

语法1#reboot重启

语法2#reboot  -w   模拟重启,但是不重启(只写关机与开机的日志信息)

关机

 halt

Linux centos关机命令:halt(直接关闭内存,慎用!!!)

shutdown指令

作用:关机 (慎用)

语法1#shutdown -h now关机提示”  或者  #shutdown  -h 15:25  “关机提示

案例:设置Linux系统关机时间在12:00

如果想要取消关机计划的话,则可以按照以下方式去尝试:

①针对于centos7.x之前的版本:ctrl+c

②针对于centos7.x(包含)之后的版本:#shutdown  -c

除了shutdown和halt关机以外,还有以下几个关机命令:

#init 0

#poweroff

setup:

网络设置

 

 

 

 权限修改

权限介绍

linux 权限格式:<类型><用户><><其他用户>

 

第一部分 第一位,文件的类型(d目录,-普通文件,l超链接文件)

第二部分:所属用户权限 文件属于哪个用户   u

部分:所属组权限     所属用户所在组别   g

部分:其他用户权限   文件不属于该用户,不属于该用户所在组  o

所有用户a

R  read  读取权限

W  write 写入权限

X        执行权限

-       没有权限

权限更改

语法:chmod 权限设置 需要更改权限的文件名

更改Demo1.java  所属用户的权限为所有权限

例如:chmod u=rwx Demo1.java

更改Demo1.java  所属 用户的权限为r-x

例如:chmod g=rx Demo1.java

更改Demo1.java  所有用户的权限为r—

例如:chmod a=r Demo1.java

更改文件夹权限

语法:chmod -R 权限设置 需要更改权限的文件名

更改t1 文件夹中所有文件的权限。  所属用户的权限 r--

例如:chmod -R u=r t1

文档编辑命令

Windows是有记事本

Linux也有类似的记事本功能   VIM编辑器

vim命令

输入“vim 文件名”进入“一般模式”

按下“i”从一般模式,进入“插入模式”

按下“esc”从“插入模式”退出到“一般模式”

在“一般模式”下,输入“:wq”,退出编辑。

一般模式:可以浏览文件内容,可以进行文本快捷操作。  单行复制,多行复制,单行删除,多行删除等

按i可以切换到插入模式

按":"可以切换到底行模式

插入模式:

可以编辑文件内容。

按ESC可以切回一般模式

底行模式:

可以进行强制退出不保存操作   q!

可以进行保存并退出操作  wq

可以进行文本搜索操作:/后面跟搜索内容

除了上面的这个语法之外,vim还支持另外一个保存退出方法“:x”。

说明:

①“:x”在文件没有修改的情况下,表示直接退出,在文件修改的情况下表示保存并退出;

②如果文件没有被修改,但是使用wq进行退出的话,则文件的修改时间会被更新;但是如果文件没有被修改,使用x进行退出的话,则文件修改时间不会被更新的;主要是会混淆用户对文件的修改时间的认定。

因此建议以后使用:x”来进行对文件的保存退出。

但是:不要使用X,不要使用X,不要使用XX表示对文件进行加密操作。

vim详细使用方法参考:https://www.cnblogs.com/luzhanshi/p/13357553.html

grep和管道

grep 正则表达式。    字符串搜索工作

格式:grep -i 需要搜索的字符串 搜索的文件

-i 忽略大小写查找数据

符合规则,就会返回符合规则的行。

管道命令:"| " 可以链接多个Linux命令

命令1 | 命令2 | 命令3……

需求:查询当前目录中,所有带ins关键字的行数据

位置:/root

思考:查询当前目录内容  ll

  查询字符串,返回字符串所在行  grep

命令:ll | grep ins

过滤案例(100%使用):需要通过管道查询出根目录下包含“y”字母的文档名称。

ls / | grep y

针对上面这个命令说明:

①以管道作为分界线,前面的命令有个输出,后面需要先输入,然后再过滤,最后再输出,通俗的讲就是管道前面的输出就是后面指令的输入注意,“/”仅仅表示根目录的路径而已

压缩、解压命令【重要】

Linux压缩,解压命令。

-c建立一个压缩文件的参数指令(create)--压缩

-x解开一个压缩文件的参数指令(extract)--解压

-z是否需要用gzip压缩

-v压缩的过程中显示文件(verbose)

-f使用档名,在f之后要立即接档名(file)

Linux压缩包: *.tar     打包,大小不会进行压缩

        *.tar.gz   打包并压缩文件大小

压缩:(参数顺序不能变)

tar -zcvf 压缩包名字.tar.gz 需要压缩的内容

例如:tar -zcvf hehe.tar.gz *   将当前目录下所有内容进行打包压缩,文件名hehe.tar.gz

解压:(参数顺序不变)

tar -zxvf 需要解压的压缩包名称   解压到当前目录

tar -zxvf 需要解压的压缩包名称 -C 指定压缩路径    解压到指定目录中

需求:需要把/root/t5/hehe.tar.gz  压缩包 解压到 指定目录中。指定目录/root/t5/t5

位置:/root/t5

命令:tar -zxvf hehe.tar.gz -C /root/t5/t5

tar -zxvf hehe.tar.gz -C t5

查看java进程命令:jps

用于查看当前服务器中的java进程,类似于ps -ef | grep java,不同之处是它是由jdk提供的,可以输出JVM中运行的进程状态信息,因此它也可以用于jvm的监控和调优,参考https://my.oschina.net/feichexia/blog/196575,使用时需保证一正确配置java环境变量,常用参数有:


-q:仅输出VM标识符,不包括classname,jar name,arguments in main method 
-m:输出main method的参数 
-l:输出完全的包名,应用主类名,jar的完全路径名 
-v:输出jvm参数 
-V:输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件 
-Joption:传递参数到vm,例如:-J-Xms512m

        [hostid]:

[protocol:][[//]hostname][:port][/servername]

安装卸载命令

rpm命令:相当于windows的添加/卸载程序

进行程序的安装、更新、卸载、查看

格式:rpm[参数][软件]
-v  显示指令执行过程。
-h  或--hash套件安装时列出标记。
-q  使用询问模式,当遇到任何问题时,rpm指令会先询问用户。
-a  查询所有套件。
-i  <套件档>或-installk套件档>安装指定的套件档。

-U  <套件档>或-upgrade<套件档>升级指定的套件档。
-e  <套件档>或-erase<套件档>删除指定的套件。
-nodeps  不验证套件档的相互关联性

常用
安装:rpm -ivh 文件【安装】

升级:rpm -Uvh 文件【更新】
删除:rpm -e --nodeps 软件名【卸载】

查看:rpm -qa | grep -i ***

 

yum命令:相当于可以联网的rpm命令

相当于先联网下载程序安装包、程序的更新包

自动执行rpm命令

设置防火墙(对外开放某个端口):

开放8080端口
/sbin/iptables -I INPUT -p tcp --dport 端口号 -j ACCEPT

例如:
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT 
保存配置
/etc/rc.d/init.d/iptables save
posted @ 2020-07-21 01:13  指尖下的世界  阅读(368)  评论(0编辑  收藏  举报
/* 看板娘 */ /*炸泡*/
/* 鼠标点击求赞文字特效 */