【linux】linux常用命令
目录
查磁盘/文件/文件夹
//***********查磁盘/文件/文件夹****************
#显示时间和M为单位的大小
ls -lh
#查文件大小
du -sh folder_name
#查当前文件夹大小
du -h | grep '\.$'
#查磁盘大小
df -lh
#查看各文件夹大小
du -h --max-depth=1
文件排序:
> ls -alt # 按修改时间排序
> ls -alc # 按创建时间排序
倒序加r
> ls -alrt # 按修改时间排序
> ls -alrc # 按创建时间排序
lcx 2017
端口占用
//***********端口占用****************
1、lsof -i:端口号
2、netstat -tunlp
3、netstat -tunlp|grep 端口号
都可以查看指定端口被哪个进程占用的情况
netstat -a
常见参数
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
日志查看
//***********日志查看************************
在日志里搜索 “error”:
[root@hopewind log]# grep "error" diagnostic_server.log
输出匹配项的前几行和后几行内容(查看匹配内容的前几行B和后几行A)
[root@hopewind log]# grep -B 3 -A 2 'Invalid user' /var/log/auth.log
$ tail -f /var/log/auth.log | grep 'Invalid user'
输出重定向命令
//***********输出重定向命令*****************
command:代表执行的命令
command > filename 把标准输出重定向到一个新文件中
command >> filename 把标准输出重定向到一个文件中(追加)
command 1 > fielname 把标准输出重定向到一个文件中
command > filename 2>&1 把标准输出和标准错误一起重定向到一个文件中
command 2 > filename 把标准错误重定向到一个文件中
command 2 >> filename 把标准输出重定向到一个文件中(追加)
command >> filename 2>&1 把标准输出和标准错误一起重定向到一个文件中(追加)
command filename2 把command命令以filename文件作为标准输入,以filename2文件作为标准输出
command &m 把标准输出重定向到文件描述符m中
查系统版本
**************查系统版本************************
uname -r 查内核版本
uname -a
cat /proc/version
cat /etc/issue 显示的是发行版本信息
lsb_release -a 显示的是发行版本信息
Cat /etc/xxx-release XX为发行版名称。如 centos-release
lcx 2018.01.18
杀死程序
**************杀死程序************************
kill 进程号 向进程发终止命令,进程自己处理完后事,自己退出
kill -9 进程号 直接杀死进程
内存占用查询
**************内存占用查询************************
[root@linuxzgf ~] cat /proc/meminfo
显示内存、缓冲等使用状况
[root@linuxzgf ~]# free -m
total used free shared buffers cached
Mem: 7982 6811 1171 0 350 5114
-/+ buffers/cache: 1346 6636
Swap: 16935 11 16924
应用程序只使用了1346MB内存,还有6636MB空闲内存可以使用.
top命令看到结果,要怎么看呢?这里说明一下:
Mem: 666666k total, 55555k used,并不是代表你的应用程序已经使用了55555k的内存,这55555k是包含了:应用程序内存 + 缓冲 + 缓存的内存的。
在显示界面按“shft” + “>” 和 “shift”+“<" 改变排序的依据
更详细http://blog.csdn.net/dxl342/article/details/53507673
2018.07.30 lcx
top命令 linux性能查询
**************top命令 linux性能查询************************
序号 列名 含义
a PID 进程id
b PPID 父进程id
e USER 进程所有者的用户名
h PR 优先级
i NI nice值。负值表示高优先级,正值表示低优先级
k %CPU 上次更新到现在的CPU时间占用百分比
m TIME+ 进程使用的CPU时间总计,单位1/100秒
n %MEM 进程使用的物理内存 百分比
o VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
p SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。
q RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
t SHR 共享内存大小,单位kb
w S 进程状态。
D =不可中断的睡眠状态
R =运行
S =睡眠
T =跟踪/停止
Z =僵尸进程
x COMMAND 命令名/命令行
更多内容:https://blog.csdn.net/u011341352/article/details/53635484
top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。
<空格>:立刻刷新。
P:根据CPU使用大小进行排序。
T:根据时间、累计时间排序。
q:退出top命令。
m:切换显示内存信息。
t:切换显示进程和CPU状态信息。
c:切换显示命令名称和完整命令行。
M:根据使用内存大小进行排序。
W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。
可以看到,top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。但是,它的缺点是会消耗很多系统资源。
2018.07.30 lcx
查看linuxCPU信息
**************查看linuxCPU信息**************************
查看物理CPU的个数
cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l
查看CPU是几核
cat /proc/cpuinfo |grep "cores"|uniq
查看逻辑CPU的个数
cat /proc/cpuinfo |grep "processor"|wc -l
一般来说,物理CPU个数×每颗核数就应该等于逻辑CPU的个数,如果不相等的话,则表示服务器的CPU支持超线程技术
https://blog.csdn.net/ydyang1126/article/details/52794130/
2018.08.03 lcx
lcx 2018.01.18
防火墙
*********************************防火墙
centos 7
CentOS 7.0默认使用的是firewall作为防火墙
查看防火墙状态
firewall-cmd --state
//临时关闭
systemctl stop firewalld
//禁止开机启动
systemctl disable firewalld
查看端口开放
firewall-cmd --list-ports
停止firewall
systemctl stop firewalld.service
禁止firewall开机启动
systemctl disable firewalld.service
重启防火墙:
firewall-cmd --reload #重启firewall
systemctl sttart firewalld.service #开启firewall
systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动
关闭防火墙
1)永久性生效,重启后不会还原
开启:chkconfig iptables on
关闭:chkconfig iptables off
2)即时生效,重启后还原
开启:service iptables start
关闭:service iptables stop
更多:https://blog.csdn.net/rczrj/article/details/78673421
查看系统是64还是32位
getconf LONG_BIT
1、找某个文件
find / -name ***.****
遇到问题:
权限不够:
2、用名字杀死进程
pkill process*
二、linux下find命令的用法
1. 基本用法:
find / -name 文件名
find ver1.d ver2.d -name '*.c' -print 查找ver1.d,ver2.d *.c文件并打印
find . -type d -print 从当前目录查找,仅查找目录,找到后,打印路径名。可用于打印目录结构。
2. 无错误查找:
find / -name access_log 2 >/dev/null
3. 按尺寸查找:
find / -size 1500c (查找1,500字节大小的文件,c表示字节)
find / -size +1500c (查找大于1,500字节大小的文件,+表示大于)
find / -size +1500c (查找小于1,500字节大小的文件,-表示小于)
4. 按时间:
find / -amin n 最后n分钟
find / -atime n 最后n天
find / -cmin n 最后n分钟改变状态
find / -ctime n 最后n天改变状态
5. 其它:
find / -empty 空白文件、空白文件夹、没有子目录的文件夹
find / -false 查找系统中总是错误的文件
find / -fstype type 找存在于指定文件系统的文件,如type为ext2
find / -gid n 组id为n的文件
find / -group gname 组名为gname的文件
find / -depth n 在某层指定目录中优先查找文件内容
find / -maxdepth levels 在某个层次目录中按递减方式查找
6. 逻辑
-and 条件与 -or 条件或
7. 查找字符串
find . -name '*.html' -exec grep 'mailto:'{}
三、PS 显示进程命令
ps -a
显示其他用户启动的进程(a)
查看系统中属于自己的进程(x)
启动这个进程的用户和它启动的时间(u)
运行 ps aux
linux 查看其他用户启动的进程_ustcxjt的博客-CSDN博客_linux查看其它用户进程
find / -prem +7000 -exec ls -l { } \ ;这句命令中{ }\的作用什么,是命令格式么
在linux下-exec经常和find一起使用,当匹配到一些文件以后,希望对其进行某些操作,这时就可以使用-exec选项,一旦find命令匹配到了相应的文件,就可以用-exec选项中的命令对其进行操作(在有些操作系统中只允许-exec选项执行诸如ls或ls -l这样的命令),exec选项后面跟随着所要执行的命令,然后是一对儿{},一个空格和一个\ ,最后是一个分号。
举个例子:查询当前目录下2天以上的txt文件,然后删除它们
find . -name *.txt -mtime +2 -exec rm {} \;
Linux 中进程有哪几种状态?在 ps 显示出来的信息中,分别用什么符号表示的?
答案:
(1)、不可中断状态:进程处于睡眠状态,但是此刻进程是不可中断的。不可中断, 指进程不响应异步信号。
(2)、暂停状态/跟踪状态:向进程发送一个 SIGSTOP 信号,它就会因响应该信号 而进入 TASK_STOPPED 状态;当进程正在被跟踪时,它处于 TASK_TRACED 这个特殊的状态。
“正在被跟踪”指的是进程暂停下来,等待跟踪它的进程对它进行操作。
(3)、就绪状态:在 run_queue 队列里的状态
(4)、运行状态:在 run_queue 队列里的状态
(5)、可中断睡眠状态:处于这个状态的进程因为等待某某事件的发生(比如等待 socket 连接、等待信号量),而被挂起
(6)、zombie 状态(僵尸):父亲没有通过 wait 系列的系统调用会顺便将子进程的尸体(task_struct)也释放掉
(7)、退出状态
D 不可中断睡眠 (通常是在IO操作) 收到信号不唤醒和不可运行, 进程必须等待直到有中断发生
R 正在运行或可运行(在运行队列排队中)
S 可中断睡眠 (休眠中, 受阻, 在等待某个条件的形成或接受到信号)
T 已停止的 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行
W 正在换页(2.6.内核之前有效)
X 死进程 (未开启)
Z 僵尸进程 进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放BSD风格的
< 高优先级(not nice to other users)
N 低优先级(nice to other users)
L 页面锁定在内存(实时和定制的IO)
s 一个信息头
l 多线程(使用 CLONE_THREAD,像NPTL的pthreads的那样)
+ 在前台进程组