Linux常用命令
ps - auxw 查看当前任务的执行时间
ps -aux详解
linux上进程有5种状态:
\1. 运行(正在运行或在运行队列中等待)
\2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
\3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
\4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
\5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)
1)ps a 显示现行终端机下的所有程序,包括其他用户的程序。
2)ps -A 显示所有程序。
3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
4)ps -e 此参数的效果和指定"A"参数相同。
5)ps e 列出程序时,显示每个程序所使用的环境变量。
6)ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
7)ps -H 显示树状结构,表示程序间的相互关系。
8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
9)ps s 采用程序信号的格式显示程序状况。
10)ps S 列出程序时,包括已中断的子程序资料。
11)ps -t <终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
12)ps u 以用户为主的格式来显示程序状况。
13)ps x 显示所有程序,不以终端机来区分。
14)ps -l 較長,較詳細的顯示該PID的信息
# ps -lA |more
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 1 0 0 76 0 - 1193 109952 ? 00:00:03 init
1 S 0 2 1 0 -40 - - 0 migrat ? 00:00:03 migration/0
1 S 0 3 1 0 94 19 - 0 ksofti ? 00:00:00 ksoftirqd/0
1 S 0 4 1 0 -40 - - 0 migrat ? 00:00:02 migration/1
1 S 0 5 1 0 94 19 - 0 ksofti ? 00:00:00 ksoftirqd/1
1 S 0 6 1 0 -40 - - 0 migrat ? 00:00:02 migration/2
1 S 0 7 1 0 94 19 - 0 ksofti ? 00:00:00 ksoftirqd/2
相關信息的意義:
F 進程的標誌(flag),4表示用戶為超級用戶
S 進程的狀態(stat),各STAT的意義見下文
PID 進程的ID
C CPU使用資源的百分比
PRI priority(優先級)的縮寫,
NI Nice值,
ADDR 核心功能,指出該進程在內存的那一部分,如果是運行的進程,一般都是“-”
SZ 用掉的內存的大小
WCHAN 當前進程是否正在運行,若為“-”表示正在運行
TTY 登陸者的終端位置
TIME 用掉的CPU的時間
CMD 所執行的指令
# ps aux |more
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 4772 564 ? S Sep22 0:03 init [3]
root 2 0.0 0.0 0 0 ? S Sep22 0:03 [migration/0]
root 3 0.0 0.0 0 0 ? SN Sep22 0:00 [ksoftirqd/0]
root 4 0.0 0.0 0 0 ? S Sep22 0:02 [migration/1]
root 5 0.0 0.0 0 0 ? SN Sep22 0:00 [ksoftirqd/1]
root 6 0.0 0.0 0 0 ? Ss+ Sep22 0:02 [migration/2]
root 7 0.0 0.0 0 0 ? SN Sep22 0:00 [ksoftirqd/2]
root 8 0.0 0.0 0 0 ? S Sep22 0:00 [migration/3]
root 9 0.0 0.0 0 0 ? SN Sep22 0:00 [ksoftirqd/3]
root 10 0.0 0.0 0 0 ? S< Sep22 0:00 [migration/4]
上述各位解释:
USER 进程的属主;
PID 进程的ID;
PPID 父进程;
%CPU 进程占用的CPU百分比;
%MEM 占用内存的百分比;
NI 进程的NICE值,数值大,表示较少占用CPU时间;
VSZ 进程使用的虚拟內存量(KB);
RSS 该进程占用的固定內存量(KB)(驻留中页的数量);
TTY 该进程在那個終端上運行(登陸者的終端位置),若與終端無關,則顯示(?)。
若为pts/0等,则表示由网络连接主机进程
WCHAN 当前进程是否正在進行,若为-表示正在進行;
START 該進程被觸發启动时间;
TIME 該进程實際使用CPU運行的时间;
COMMAND 命令的名称和参数;
STAT狀態位常見的狀態字符
D 无法中断的休眠状态(通常 IO 的进程);
R 正在运行可中在队列中可过行的;
S 处于休眠状态;
T 停止或被追踪;
W 进入内存交换 (从内核2.6开始无效);
X 死掉的进程 (基本很少見);
Z 僵尸进程;
< 优先级高的进程
N 优先级较低的进程
L 有些页被锁进内存;
s 进程的领导者(在它之下有子进程);
l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads);
+ 位于后台的进程组;
curl 详解
curl是一个命令行访问URL的工具,作用是发出网络请求,然后得到和提取数据,显示在"标准输出"(stdout)上面。可以用它构造http request报文,且可以解析服务器返回的http response,额外还支持cookie特性,可以用curl完成web浏览器的基本功能,curl还支持HTTPS/FTP/FTPS/TELNET/LDAP等协议
常用选项:
-v 详细输出,包含请求和响应的首部
-o test 将指定curl返回保存为test文件,内容从html/jpg到各种MIME类型文件
-O 把输出写到该文件中,保留远程文件的文件名
-C 在保存文件时进行续传
-x ip:port 指定使用的http代理
-c 保存服务器的cookie文件
-H header:value 为HTTP请求设置任意header及值
-L 跟随重定向
-S 显示错误信息
-s 静默模式,不输出任何信息
-G 以get的方式发送数据
-f 连接失败是不显示http错误
-d 以post方式传送数据
tail命令详解
ail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。
tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。
命令格式:
tail [参数] [文件]
参数:
- -f 循环读取
- -q 不显示处理信息
- -v 显示详细的处理信息
- -c<数目> 显示的字节数
- -n<行数> 显示文件的尾部 n 行内容
- –pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
- -q, --quiet, --silent 从不输出给出文件名的首部
- -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
linux修改时间
systemctl restart chrongd 网络修改时间
date -s 自定义时间
ip设置
进入/hoem/etc/sysconfig/newwork-scripts/ifcfg-ens33
修改后重启network网络服务
systemctl restart network
linux系统进程管理 -psmisc工具
常见linux系统进程
sshd linux远程连接服务进程
chronyd 系统时间管理进程
firewald 防火墙
network 系统网络进程(网卡)管理程序
杀死进程
kill 进程id
kill -9 进程id 杀死进程 无视程序间依赖关系 强行杀死
yum install -y psmisc
以tree结构查看linux进程
pstree
根据进程名杀死进程
killall 进程名
hotsname(计算机名、主机名)
设置主机名
hostnamectl set-hostname 主机名
[用户名@主机名 命令所在路径]#
远程拷贝
scp -r 本地文件 root@linuxip:/远程linux的目录路径
ssh远程登录&免密登录
ssh root@ip
1、[root@主机名 .ssh]ssh-keygen .ssh隐藏文件夹
id_rsa 私钥文件
id_rsa.pub 公钥文件
1、手动保存到目标主机的.ssh/authorized_keys文件中
2、ssh-copy-id 目标主机的ip
linux的文件模块
opt/modules 软件原始包(安装前)
opt/installs 软件安装包 (安装后)
opt/app/test 测试文件
opt/app/data 数据文件
解压及压缩文件
解压
unzip test.zip
unzip test.zip -d 指定目录
tar -xzvf test.tar.gz
tar -xzvf test.tar.gz -C 指定目录
压缩
zip test.zip 文件1 文件2…
tar czvf test.tar.gz 文件1 文件2…
编辑文本
vi/vim 分为三种模式
命令模式
nyy 复制n行
p粘贴
ndd 删除n行
输入模式
i a o 进入输入模式
底线命令模式
:m,n s/s1/s2/g
替换m到n行的s1为s2
:wq保存退出
:q 直接保存退出
rpm包安装及环境变量
类似与window的.exe文件
安装:rpm -ivh 软件名.rpm
查询: rpm -qa | grep 软件名关键字
卸载 rpm -e 软件名
vi /etc/profile
一般配置 home 和path就ok了
source /etc/profile 刷新环境变量
yum安装
能够自动从指定服务器自动下载rpm包并且安装可以处理依赖关系
wget安装
wget是自由从网络上自动下载文件的自由工具 支持http https ftp 三个最常见的tcp/ip协议下载相当于迅雷
安装yum -install 软件名
yum -remove
yum update
防火墙的开启or关闭
关闭:systemctl stop firewalld
状态 :systemctl status firewalld
永久关闭
vi /etc/selinx/conf
selinux=disabled
可以使用head(查看前几行)、tail(查看末尾几行)两个命令。
例如:
查看/etc/profile的前10行内容
# head -n 10 /etc/profile
查看/etc/profile的最后5行内容,应该是:
# tail -n 5 /etc/profile
查看/etc/profile文件中第3000行开始,显示1000行的内容。即显示3000~3999行
# cat filename | tail -n +3000 | head -n 1000
查看/etc/profile文件中第1000行到3000行的内容。
# cat filename| head -n 3000 | tail -n +1000
为了一目了然的查看文件中的信息,可以将查看的信息通过输出重定向的方法保存到一个文档,这样查看文档即可一目了然。
例如:
将内容输出到/home/test文件中
# cat filename| head -n 3000 | tail -n +1000 >>/home/test
# tail -n 500 /etc/profile>>/home/test
查看的话只需要打开test文件即可。
cat /home/test
sed命令
sed -n ‘5,10p’ filename 这样你就可以只查看文件的第5行到第10行。
查看文件大小
du -h --max-depth=1 work/testing
命令可以显示目前所有文件系统的可用空间及使用情形
df -h