centos7命令2

find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件

find / -name '*name*' 查找根目录下的包含name的文件名

find ./ -name test.sh 查找当前目录下所有名为test.sh的文件

find ./ -name '*.sh'  查找当前目录下所有后缀为.sh的文件

权限不足的话在命令前面加上sudo

find / -size 1G 查找根目录下文件大小为1G的文件

find / -size +1G 查找根目录下文件大于1G的文件

find / -size -1G 查找根目录下文件小于1G的文件

find ./ -size +4k -size -5M  查找当前目录下大于4k,小于5M的文件

find ./ -name "[A-Z]*"   查找当前目录下所有以大写字母开头的文件

find ./ -perm 777  查找当前目录下权限为777的文件或目录

find / -type d  在根目录下查找所有目录

find / -type f  在根目录下查找所有文件

find / -type f -mtime +5  在/root/isTester目录下查找更改时间在5日以内的文件

find / -type f -mtime +3  在/root/isTester目录下查找更改时间在3日以前的文件

进阶find命令

find ./ -type f | xargs grep 'wahaha'    在当前目录下的所有的文件中,搜索wahaha这个内容

find ./ -mtime -1 -print | xargs -i mv{} ~/haha    在当前目录,移动一天以内的所有内容到~/haha目录
find ./ -mtime +10 -print | xargs -i mv{} ~/haha  在当前目录,移动10天以前的所有内容到~/haha目录
find /usr/haha1 -type f -size 0 | xargs -i mv{} ~/haha2/0size    在/usr/haha1目录,移动文件大小为0的文件到~/haha2目录下的0size/文件夹

find /use/haha1 -type f -size +200M | xargs -i mv{} ~/haha2 /200size     在/usr/haha1 目录,移动大于200M的文件到~/haha2目录下的200size/文件夹

 

tar -cvf test.tar *.py 把当前目录下的python文件打包成test.tar,打包后原文件还在

tar -xvf test.tar 解包test.tar,默认解包到当前路径,解包后原包还在

上面的打包并没有什么软用,因为空间占用还是一样,压缩包才能减少空间占用,所以不推荐打包,推荐压缩包

tar -zcvf test.tar.gz *.py 把当前目录下的python文件压缩成test.tar(用gz压缩包test.tar,和打包比占用空间少100倍左右)

tar -zcvf test.tar f1.txt f2.txt 压缩多个文件

tar -zcvf test.tar d1/ 压缩文件夹

tar -zxvf test.tar.gz  解压缩包test.tar到当前路径

tar -zxvf test.tar.gz -C dong/  解压缩包test.tar到指定路径

下面的了解即可

tar -jcvf test.tar.bz2 *.py 用bz2压缩包test.tar,比gz压缩占用多一点点

tar -jxvf test.tar.bz2 解压缩包test.tar

zip test.zip *.py 用zip压缩,占用空间是bz2的三倍

unzip test.zip 解压缩到当前路径

unzip test.zip -d dong/ 解压缩到指定路径

用什么压缩就要用什么解

 

which ls 查看ls命令在哪个路径下

cal 查看当前的日历

cal -y 2008 查看2008年所有的日历

date查看当前的时间

date "+%Y==%m==%d" 打印指定格式的时间,双引号,第一个是加号

 

 

ps当前终端下进程的数量

ps -A查看所有进程

ps -ef显示所有进程信息(用的标准的格式显示进程,连同命令行)

ps -ef | grep mysql 查看mysql的进程

UID //用户ID、但输出的是用户名 
PID //进程的ID 
PPID //父进程ID 
C //进程占用CPU的百分比 
STIME //进程启动到现在的时间 
TTY //该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。 
CMD //命令的名称和参数

 

ps -aux当前centos在内存中开启的程序(用的BSD格式显示,这个比较详细)

Linux 和 BSD 都是类 UNIX 操作系统,BSD 则代表“Berkeley Software Distribution,伯克利软件套件”

 

每一行都代表一个程序,time表示运行的时间,command表示运行的方式,stat表示运行的状态,%cpu占用cpu的情况,%mem占用内存的情况,pid

  • USER:该进程属于那个使用者账号。
  • PID :该进程的进程ID号。
  • %CPU:该进程使用掉的 CPU 资源百分比;
  • %MEM:该进程所占用的物理内存百分比;
  • VSZ :该进程使用掉的虚拟内存量 (Kbytes)
  • RSS :该进程占用的固定的内存量 (Kbytes)
  • TTY :该进程是在那个终端机上面运作,若与终端机无关,则显示 ?。另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
  • STAT:该程序目前的状态,主要的状态有:
  1. R :该程序目前正在运作,或者是可被运作;
  2. S :该程序目前正在睡眠当中,但可被某些讯号(signal) 唤醒。
  3. T :该程序目前正在侦测或者是停止了;
  4. Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
  • START:该进程被触发启动的时间;
  • TIME :该进程实际使用 CPU 运作的时间。
  •  COMMAND:该程序的实际指令。

 查看mysql进程

ps -ef | grep mysql

 

top 实时显示进程信息

top 按1 监控每个逻辑cpu的状况
top 按b 高亮显示当前运行的进程
top 按c 显示完整指令
q 退出top程序

htop  top的升级版

 

假如centos7默认没有安装htop,执行下面命令安装

启用epel资料库
yum -y install epel-release 
yum -y update
首用epel repository后,可以用yum直接安装htop
yum -y install htop

ps、top、htop都是查看系统运行情况的

 

kill -9 pid号  强制删除某进程

reboot重启

shutdown -h now立即关机

shutdown -h +10 十分钟后关机,加几就是几分钟后关

shutdown -h 20:20  晚上八点二十关机

init 0关机

init 6重启

 

df -h当前整个硬盘的使用情况

du -h查看当前文件夹的大小

 

ifconfig查看网络信息

一般windows电脑都只有两个网卡,一个是插网线的那个,一个是wifi

centos中一个就代表一个网卡信息,lo表示回环地址,用来检测网络是否好使

ifconfig ens33 172.11.7.129 手动设置ens网卡的ip地址

ping ip地址 测试远程主机能否通信

 

 

linux是多任务多用户的操作系统,同一时间能运行很多程序就叫多任务,不退出当前用户的前提下用另一个用户做事情就叫多用户

 

useradd shuaige -m添加用户shuaige,-m创建完用户后顺便创建一个家目录,且名字和用户名一样,不加-m表示只创建用户,不创建家目录,看一个用户有没有家目录,去cat /etc/passwd最后一行下看最后有没有目录,没有就没有家目录

ls home  查看用户添加成功了没,发现多了一个shuaige的文件夹,但是这个文件夹可能仅仅只是文件夹,不是用户,所以用下面的方法来验证

cat /etc/passwd查看passwd最后一行看添加成功了没

sudo passwd shuaige设置shuaige的密码

su shuaige 切换用户,但是路径没有变

su - shuaige 切换用户的同时切换家目录

whoami查看当前用户名

exit退出当前用户,切换到原来的用户

ssh 用户名@ip地址  远程连接用户

ctrl+shift+t  多标签终端,alt+1切换到第一个标签,alt+2切换到第二个标签

who查看当前所有系统用户的登录信息,显示的用户后面跟ip表示远程登录的

userdel 用户名 删除用户

userdel -r 用户名 删除用户并删除用户的家目录

$是普通账户

#是超级管理员

su root   切换到root账户

sudo -s 切换到root账户(ubuntu专用)

 

ll命令,除了第一个字段,后面的意思分别是硬连接数,文件的拥有者(也就是创建者),用户组,文件大小,创建时间,文件名

第一个字段共占十位,除了第一位字符,还有九位,分成三组,第一组是文件拥有者的权限,第二组是同组者的权限,第三组是其他的权限,第一位字符-表示普通文件,d表示文件夹

r表示读,w表示写,x表示可执行

数字表示法(更简便) r表示4,w表示2,x表示1

chmod u=x f1.py 或 chmod 100 f1.py    改变f1.py文件的用户的权限为可执行权限

chmod g=rx f1.py 或 chmod 070 f1.py   改变f1.py文件的组的权限为可读可执行权限

chmod o=rwx f1.py 或 chmod 007 f1.py 改变f1.py文件的其它的权限为可读可写可执行权限

chmod a=r f1.py 或 chmod 444 f1.py      改变f1.py文件的用户和组和其它都为可读权限

chmod u=,g=,o= f1.py 或 chmod 000 f1.py   改变f1.py文件的用户和组和其它都为没有权限 

给wahaha目录下所有文件和子目录添加执行权限  chmod +x -R wahaha/ 

将文件isTester666.ini设为所有人皆可读取   chmod 444 isTester.ini或chmod a+r isTester.ini

将isTester666.ini设定为只有该文件拥有者可以执行 chmod a-x,u+x isTester.ini

 给文件isTester666.ini设置所有权限   chmod 777 isTester.ini

 

创建用户时,默认创建了一个组,组名和用户名相同

cat /etc/group 查看有哪些组

groupmod 两次tab  查看有哪些组

groupadd 组名  创建一个组

groupdel 组名  删除一个组

 

ubuntu有两个特殊的组sudo和adm,centos7只有一个adm

cat /etc/group | grep sudo

cat /etc/group | grep adm

 

新创建的用户,默认不能sudo,需要进行下面的操作

ubuntu的操作

sudo usermod -a -G sudo 用户名,-G一般配合-a往其他组添加

sudo usermod -a -G adm 用户名

centos7下的操作

# 首先切换为root用户
su root

# 修改sudoers文件
vim /etc/sudoers

# 找到权限设置,如下
root    ALL=(ALL)       ALL

# 若要给fuck2用户增加sudo权限,需要增加如下一行
root    ALL=(ALL)       ALL
fuck2    ALL=(ALL)       ALL

# 保存退出后fuck2用户则拥有了sudo权限

 

chgrp YYY 文件名  修改文件所属组为YYY

chown  xxx 文件名 修改文件所有者xxx

 

vim 文件名 +11  打开文件后直接跳到11行

ctrl+n关键字自动补全

posted @ 2018-12-08 00:09  Operater  阅读(485)  评论(0编辑  收藏  举报