0%

[linux] 1.常用指令

进程相关指令 ps#

参考自 ps 进程查看器

进程状态#

ps工具标识进程的5种状态码: - D 不可中断 uninterruptible sleep (usually IO) - R 运行 runnable (on run queue) - S 中断 sleeping - T 停止 traced or stopped - Z 僵死 a defunct (”zombie”) process

命令参数#

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
a       显示 所有进程(显示状态码)
-a 显示同一终端下的所有程序
-A 所有进程
e 环境变量
c 进程的 真实名称

r 当前 终端的进程
T 当前 终端的所有程序
u 用户的所有进程
-au 较详细的资讯
-aux 所有包含其他使用者的行程

-N 反向选择
-e 等于“-A”
f 显示程序间的关系
-H 显示树状结构

-C<命令> 列出指定命令的状况
–lines<行数> 每页显示的行数
–width<字符数> 每页显示的字符数
–help 显示帮助信息
–version 显示版本显示

输出列含义#

1
2
3
4
5
6
7
8
9
10
11
12
13
14
F           代表这个程序的旗标 (flag), 4 代表使用者为 super user
S 代表这个程序的状态 (STAT),关于各 STAT 的意义将在内文介绍
UID 程序被该 UID 所拥有
PID 进程的ID
PPID 则是其 上级父程序的ID
C CPU 使用的资源百分比
PRI 这个是 Priority (优先执行序) 的缩写,详细后面介绍
NI 这个是 Nice 值,在下一小节我们会持续介绍
ADDR 这个是 kernel function,指出该程序在内存的那个部分。如果是个 running的程序,一般就是 “-“
SZ 使用掉的内存大小
WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作
TTY 登入者的终端机位置
TIME 使用掉的 CPU 时间。
CMD 所下达的指令为何

其它常用指令#

linux环境中英文切换配置以及乱码问题#

基础配置#

本质就是修改系统的LANG变量

LANG是language的简称,稍微有英语基础的用户一看就看出来这个变量是决定系统的默认语言的,即系统的菜单、程序的工具栏语言、输入法默 认语言等。

查看当前用户的LANG变量#

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
liuw@12:~locale

LANG=zh_CN
LANGUAGE=
LC_CTYPE="zh_CN"
LC_NUMERIC="zh_CN"
LC_TIME="zh_CN"
LC_COLLATE="zh_CN"
LC_MONETARY="zh_CN"
LC_MESSAGES=en_US
LC_PAPER="zh_CN"
LC_NAME="zh_CN"
LC_ADDRESS="zh_CN"
LC_TELEPHONE="zh_CN"
LC_MEASUREMENT="zh_CN"
LC_IDENTIFICATION="zh_CN"
LC_ALL=

配置自己的LANG#

如果你希望修改整个系统的编码和语言信息,可以修改系统的配置文件修改LANG,而如果不希望影响其他用户直接在 自己的~/.bashrc中配置LANG即可
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# use english
export LANG=en_US.UTF-8

LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES=en_US
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
配置后如图:

SVN: Can't convert string from 'UTF-8' to native encoding问题#

上图可以看到,原本的'LC_ALL'为空,对中文因此出现了这个问题

1
LC_ALL=
解决方案:
1
export LC_ALL=zh_CN.UTF-8     # 配置~/.bashrc中 LC_ALL

查询linux系统类型#

1
lsb_release -a

这个命令适用于所有遵守LSB规范的的linux,包括Redhat、SuSE、Debian、Ubuntu、Centos等发行版

显示系统核心信息#

1
2
3
4
5
uname

uname -r

uname -a

内存信息#

1
cat /proc/meminfo

CPU信息#

1
cat /proc/cpuinfo

查看当前路径#

1
pwd

重命名文件 mv#

例子:将目录A重命名为B

1
mv A B
例子:将/a目录移动到/b下,并重命名为c
1
mv /a /b/c

搜索文件 find#

1
2
3
4
5
6
7
8
9
10
11
find / -mtime 0   #0代表当前时间,即从现在到24小时前,有改动过内容的文件都会被列出来

find /etc -newer /etc/passwd #寻找/etc下面的文件,如果文件日期比/etc/passwd新就列出

find / -name file #/代表全文搜索

find /home -user Anmy #查找/home下属于Anmy的文件

find / -nouser #查找系统中不属于任何人的文件,可以轻易找出那些不太正常的文件

find / -name passed #查找文件名为passed的文件