一些常用的linux命令(基于centos)

文件操作

LS命令-作用:显示目录内容,类似DOS下的DIR-格式:LS【options】【filename】-常用参数:  
>-a:all,不隐藏任何以"."字符开始的文件  
>-l:使用较长的格式列出信息  
>-r:按照文件名的逆序打印输出  
>-F:加上文件类型的指示符  ls -lF | grep /  过滤  man ls          
查询ls的帮助文件  cat命令-作用:显示文件内容,concatenate的缩写,类似dos的type命令。-格式:cat【options】【fielname】-常用参数:  
>-n:显示文件内容的行号。  
>-b:类似-n,但是不对空白行进行编号。  
>-s:当遇到有连续两行以上的空白行时,就代换为一行的空白行。

mv命令-作用:更改文件或者目录的名字。-格式:mv[options]source destination-常用参数:  
>-f:强制模式,覆盖文件不提示。  
>-i:交互模式,当要覆盖文件的时候给提示。

rm命令-作用:删除文件命令,类似dos的del命令-格式:rm【options】filenames-常用参数: 
>-f:强制模式,不给提示。 
>-r,-R:删除目录,recursive

mkdir命令-作用:创建目录,类似dos的md命令-格式:mkdir【options】directory-常用参数: 
>-p:创建目录和它的父目录。 
>-m:指定模式,类似chmod。

more命令-作用:分屏显示输出结果,同DOS下的more命令。-格式:more【options】【filename】-常用参数: 
>-p:通过清屏而不是滚动来显示信息 
>-+num:从第num行开始显示 
>-s:把连续的多行空白行压缩成一行

cat aa.txt | more  通过管道的作用连接两个命令

grep命令-作用:在文件中搜索特定的字符串。       
 Global Regular Expression Print-格式:grep【options】PATTERN【filename】-常用参数: 
>-i:不区分大小写 
>-n:显示序号 
>-v:显示不匹配的内容

-多条件查询

grep -E "exe|dll" aa.txt

find命令-作用:搜索指定目录下的文件-格式:find【path】【options】【expression】-常用参数: 
>-name:搜索指定文件名字的文件,支持通配符 
>-atime n:搜索过去n天之内访问的文件 
>-ctime n:搜索过去n天之内修改的文件 
>-group gname:搜索指定组属的文件

file命令-作用:判断文件的类型-格式:file【options】filename-常用参数: 
>-z:检测压缩过的文件类型说明:     
file命令可以检测某个文件是否是目录,shell脚本,英文文本,二进制可执行文件,c语言源文件,文本文件,dos的可执行文件。

chmod命令-作用:改变文件存取权限。-格式:chmod【options】 mode filename-常用参数: 
>-R:对目录下的文件进行递归操作 
>+r:增加读权限 
>-W:删除写权限 
>-x:增加执行权限

root相关操作

更改密码:sudo passwd root
获取root权限:sudo su -

本地文件上传下载

下载安装
sudo yum install lrzsz
sz命令发送文件到本地:
# sz filename
rz命令本地上传文件到服务器:
# rz

打包解压缩命令

.tar
压缩:tar cvf FileName.tar FileName
解压:tar xvf FileName.tar
--------------------------------------------- 
.gz
解压1:gunzip FileName.gz 
解压2:gzip -d FileName.gz 
压缩:gzip FileName 
.tar.gz 
解压:tar zxvf FileName.tar.gz 
压缩:tar zcvf FileName.tar.gz DirName 
--------------------------------------------- 
.bz2 
解压1:bzip2 -d FileName.bz2 
解压2:bunzip2 FileName.bz2 
压缩: bzip2 -z FileName 
.tar.bz2 
解压:tar jxvf FileName.tar.bz2 
压缩:tar jcvf FileName.tar.bz2 DirName 
--------------------------------------------- 
.bz 
解压1:bzip2 -d FileName.bz 
解压2:bunzip2 FileName.bz 
压缩:未知 
.tar.bz 
解压:tar jxvf FileName.tar.bz 
压缩:未知 
--------------------------------------------- 
.Z 
解压:uncompress FileName.Z 
压缩:compress FileName 
.tar.Z 
解压:tar Zxvf FileName.tar.Z 
压缩:tar Zcvf FileName.tar.Z DirName 
--------------------------------------------- 
.tgz 
解压:tar zxvf FileName.tgz 
压缩:未知 
.tar.tgz 
解压:tar zxvf FileName.tar.tgz 
压缩:tar zcvf FileName.tar.tgz FileName 
--------------------------------------------- 
.zip 
解压:unzip FileName.zip 
压缩:zip FileName.zip DirName 
--------------------------------------------- 
.rar 
解压:rar a FileName.rar 
压缩:rar e FileName.rar 

获取当前路径

pwd

ps操作

PID: 运行着的命令(CMD)的进程编号    TTY: 命令所运行的位置(终端)    TIME: 运行着的该命令所占用的CPU处理时间    CMD: 该进程所运行的命令这些信息在显示时未排序。
1.显示所有当前进程
使用 -a 参数。-a 代表 all。同时加上x参数会显示没有控制终端的进程。
$ ps -ax
这个命令的结果或许会很长。为了便于查看,可以结合less命令和管道来使用。
$ ps -ax | less

2.根据用户过滤进程
在需要查看特定用户进程的情况下,我们可以使用 -u 参数。比如我们要查看用户'pungki'的进程,可以通过下面的命令:
$ ps -u pungki
通过cpu和内存使用来过滤进程
也许你希望把结果按照 CPU 或者内存用量来筛选,这样你就找到哪个进程占用了你的资源。要做到这一点,我们可以使用 aux 参数,来显示全面的信息:
$ ps -aux | less
当结果很长时,我们可以使用管道和less命令来筛选。
默认的结果集是未排好序的。可以通过 --sort命令来排序。

3.根据 CPU 使用来升序排序
$ ps -aux --sort -pcpu | less

4.根据 内存使用 来升序排序
$ ps -aux --sort -pmem | less
我们也可以将它们合并到一个命令,并通过管道显示前10个结果:
$ ps -aux --sort -pcpu,+pmem | head -n 10

5.通过进程名和PID过滤
使用 -C 参数,后面跟你要找的进程的名字。比如想显示一个名为getty的进程的信息,就可以使用下面的命令:
$ ps -C getty
如果想要看到更多的细节,我们可以使用-f参数来查看格式化的信息列表:
$ ps -f -C getty

6.根据线程来过滤进程
如果我们想知道特定进程的线程,可以使用-L 参数,后面加上特定的PID。
$ ps -L 1213

7.树形显示进程
有时候我们希望以树形结构显示进程,可以使用 -axjf 参数。
$ps -axjf
或者可以使用另一个命令。
$ pstree

8.显示安全信息
如果想要查看现在有谁登入了你的服务器。可以使用ps命令加上相关参数:
$ ps -eo pid,user,args
参数 -e 显示所有进程信息,-o 参数控制输出。Pid,User 和 Args参数显示PID,运行应用的用户和该应用。
能够与-e 参数 一起使用的关键字是args, cmd, comm, command, fname, ucmd, ucomm, lstart, bsdstart 和 start。

9.格式化输出root用户(真实的或有效的UID)创建的进程
系统管理员想要查看由root用户运行的进程和这个进程的其他相关信息时,可以通过下面的命令:
$ ps -U root -u root u
-U 参数按真实用户ID(RUID)筛选进程,它会从用户列表中选择真实用户名或 ID。真实用户即实际创建该进程的用户。
-u 参数用来筛选有效用户ID(EUID)。
最后的u参数用来决定以针对用户的格式输出,由User, PID, %CPU, %MEM, VSZ, RSS, TTY, STAT, START, TIME 和 COMMAND这几列组成。

10.使用PS实时监控进程状态
ps 命令会显示你系统当前的进程状态,但是这个结果是静态的。
当有一种情况,我们需要像上面第四点中提到的通过CPU和内存的使用率来筛选进程,并且我们希望结果能够每秒刷新一次。
为此,我们可以将ps命令和watch命令结合起来。
$ watch -n 1 ‘ps -aux --sort -pmem, -pcpu’
如果输出太长,我们也可以限制它,比如前20条,我们可以使用head命令来做到。
$ watch -n 1 ‘ps -aux --sort -pmem, -pcpu | head 20’
这里的动态查看并不像top或者htop命令一样。但是使用ps的好处是你能够定义显示的字段,你能够选择你想查看的字段。
举个例子,如果你只需要看名为'pungki'用户的信息,你可以使用下面的命令:
$ watch -n 1 ‘ps -aux -U pungki u --sort -pmem, -pcpu | head 20’

 

CentOS SSH密钥登陆改为密码登陆

1.检查安装系统时是否已经安装SSH服务端软件包:   rpm -qa|grep openssh 

若显示结果中包含openssh-server-*,则说明已经安装,直接启动   sshd服务就可以了(service sshd start).(其中*的内容是该包的版本,一般为3.5p1-6)

netstat -a | more看有没正常启动

如果出现:

tcp   0      0 *:ssh         *:*         LISTEN

就说明正常启动了

vi /etc/ssh/sshd_config

2.设置为密码登陆方式

查找

PermitRootLogin yes

删除前面的#注释

查找

PasswordAuthentication no

改为

PasswordAuthentication yes


保存

3.重启ssh服务或重启服务器

service sshd restart

文件查看

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

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

tailf        等同于tail -f -n 10(貌似tail -f或-F默认也是打印最后10行,然后追踪文件),与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件,所以tailf特别适合那些便携机上跟踪日志文件,因为它减少了磁盘访问,可以省电

添加新用户并授权

(一)创建一个admin用户


adduser admin


(二)为admin用户设置密码

passwd admin


(四) 查找sudoers文件所在

whereis sudoers

(五)查看一下文件的权限


ls -l /etc/sudoers

可以看到只有只读的权限,这时候我们要加入一个可写的(w)的权限

(六)加入可写的权限


chmod -v u+w /etc/sudoers

(七)把admin用户添加到sudoers中

vi /etc/sudoers1



## Allow root to run any commands anywher  
root    ALL=(ALL)       ALL  
admin ALL=(ALL)       ALL  #新增admin用户123

(八)wq保存,然后把sudoers文件权限改回去,毕竟这是一个重要的文件

chmod -v u-w /etc/sudoers


(九)测试新用户admin进行登陆,使用su  admin操作:


su admin

查看端口状态

netstat命令各个参数说明如下:

  -t : 指明显示TCP端口

  -u : 指明显示UDP端口

  -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)

  -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。

  -n : 不进行DNS轮询,显示IP(可以加速操作)

即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况··

netstat -ntlp   //查看当前所有tcp端口·

netstat -ntulp |grep 80   //查看所有80端口使用情况·

netstat -an | grep 3306   //查看所有3306端口使用情况·

查看一台服务器上面哪些服务及端口

netstat  -lanp

查看一个服务有几个端口。比如要查看mysqld

ps -ef |grep mysqld

查看某一端口的连接数量,比如3306端口

netstat -pnt |grep :3306 |wc

查看某一端口的连接客户端IP 比如3306端口

netstat -anp |grep 3306

netstat -an 查看网络端口 

lsof -i :port,使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接。 

nmap 端口扫描
netstat -nupl  (UDP类型的端口)
netstat -ntpl  (TCP类型的端口)
netstat -anp 显示系统端口使用情况

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值