linux常用命令02

1、查看当前IP:ifconfig

如果使用云服务器(如:青云、阿里云),只有内网网卡,没有外网网卡(所以只有虚拟IP,无法绑定的)。后面会说kafka,使用云服务器的会有问题。

2、CRT/XSHELL 连接Linux

根据查看Linux当前IP得知,内网IP(inet addr:192.168.137.130)为192.168.137.130,端口为22(ssh协议默认通过22端口)

因此,在XSHELL进行如下操作:

3、文件创建

(1)vi 文件名(可空可不为空)

(2)touch 文件名

4、文件夹创建

(1)mkdir 文件夹名

可以CD进去

(2)创建连续3层文件夹:mkdir -p 1/2/3

(2)同一层创建3个文件夹

mkdir 1 2 3

 5、移动文件或文件夹

mv 文件名或文件夹名

mv test.log /root ---------原路径是不存在的

 6、cp  复制文件或文件夹

cp 20180515.log Desttop/  -----------原路径还存在

cp -r 文件夹名/ 文件夹名/

 7、查看文件内容

(1)cat 20180427.log  -----------  一下子将内容全部展现出来

(2)more 20180427.log --------  展现页面大小能展现的内容,按空格翻页

(3)less 20180427.log  --------展现页面大小能展现的内容,配合(/内容)查找日志中需要匹配的内容,按n往下翻页,N网上翻页。Enter是不匹配内容直接往下翻页

8、tail   实时查看文件内容

(1)tail -f 文件名:

(2) echo  123 >>test.log:

打印123追加到tess.log文件夹里最后的内容后面

echo 123 > test.log

打印123覆盖到tess.log文件夹里最后的内容后面

此时报错:

echo的问题,用cat test1.log > test2.log就没有问题,最终:

tail -f      等同于--follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止

tail -F     等同于--follow=name  --retry,根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪

案例:

xxx.log---> 生产上的系统记录日志一般保留10份 

内容大小达到100M就切1次,相当于执行了如下命令:

    mv xxx.log xxx.log1

    touch xxx.log

因此需要用  tail -F xxx.log 来监听日志,否则会出错

tail  -200f xxx.log-------实时倒着查看最新的200行

9、别名

alias 别名='命令行'(注意:别名='‘没有空格!!!)

 alias修改的别名只能在当前的链接中使用,别的链接不可用,想要永久别名,需要配置环境变量

10、环境变量

(1)全局:

/etc/profile

1)使用命令vi /etc/profile后在文件末尾处新增:

# alias

alias HB1='cd /root/1/2'

2) 接着source /etc/profile启动服务,让配置生效

(2)个人环境:

~/.bash_profile

个人环境变量文件生效:

. .bash_profile

source .bash_profile

假如bash_profile为空,.bashrc也可以

取决于个人用户组还是全局root组在使用这个环境变量

11、删除

(1)rm  xxx.log:删除一个文件,会弹出提示,询问你是否删除

(2)rm -f xxx.log:删除一个文件,不询问

(3)rm -r xxx(文件夹名):删除一个文件夹,会弹出提示,询问你是否删除

(4)rm -rf xxx(文件名):删除一个文件夹,不询问

(5)rm -rf /:不能做

12、history 查看历史命令

!70:执行历史命令的第70行(注意:不可同一行写history !70)

13、用户,用户组的常用命令

(1)useradd:自动创建一个用户和用户名称

id HB:显示HB用户的权限、分组 

gid:主组

groups:所有组

(2)删除用户

userdel 用户名:

userdel HB

(3)ll /user/sbin/user*

 *号表示模糊查询

(4)新增用户组:

groupadd 组名

(5)修改用户的用户组:

usermod -a -G 目标用户组名 源用户组名:

(6)修改用户的组ID

usermod -g HAHA HAHA1

14、/etc/passwd:该目录存储的是操作系统所有的用户信息,该文件为所有用户可见

 15、管道符:|(用于为前一个命令再添加检索条件,比如下例:)

cat /etc/passwd | grep HB(打开/etc/passwd文件,其中检索关键字HB的内容)

16、查看命令帮助

命令名 --help

man 命令名

 17、设置密码

passwd 用户名

18、切换用户

(1)su 用户名

(2)su - 用户名:

1)切换用户之后,执行环境变量文件.bash_profile

2)且进入该用户的家目录

工作上,分配给你一个用户,

记住2件事:

1.  history 

2.  查看环境变量文件

 19、退出当前用户,返回上一次用户:

exit:

 20、临时获取root的权限

(1)从root切换到HBinz用户使用root命令,但无root权限,因此需要临时获取root权限

(2)sudo 用户名:用户临时获取root权限

(3)找到sudoers file文件。从root进入,在/etc(存放系统文件)目录里面找到sudoers file文件,vi进去该文件找到root。

(4)/etc/sudoers profile中新增HBinz用户的描述如下:

(5)进入命令行模式输入wq!(!表示强行退出)  

(6)HB1不是一个应用程序而是Linux内建shell的命令的重写,而sudo仅仅只对应用程序起作用。  sudo foo只意味着以root权限运行foo程序  所以,sudo HB1会报sudo: HB1:找不到命令。

21、进程

前言:

linux的服务都是在后台挂起的,要怎么查看这些服务呢,需要查看进(1)查看进程:

ps -ef

(2)查看特定进程:

ps -ef | grep tail (查看tail进程)

(3)删进程:

kill -9 进程号(第二列)

(4)删除所有tail命令的进程的方法

(注意:杀死关于tail命令的所有进程之前,给我ps -ef|grep tail查看确认清楚)

1)kill -9 26027 26034  26049

2)kill -9 $(pgrep -f tail) 

22、端口号

(1)首先查看被查服务的进程

ps -ef |grep ssh

(2)接着查该服务的端进程号的口

netstat -nlp |grep 1794

(2)也可以直接netstat -ntp | grep ssh

猜你喜欢

转载自blog.csdn.net/Binbinhb/article/details/88096421