当前位置:学者斋 >

IT认证 >Linux认证 >

linux常用命令记录大全

linux常用命令记录大全

Linux虽然是免费的,但它的确是一个非常优秀的操作系统,与MS-WINDOWS相比具有可靠、 稳定、速度快等优点,且拥有丰富的根据UNIX版本改进的强大功能。下面让我们一起来学习Linux的一些主要命令。有一点一定要注意,和dos命令不同的是,Linux的命令(也包括文件名等等)对大小写是敏感的。

linux常用命令记录大全

  sbin 系统底层命令存放目录

  bin 一般用户常用命令目录

一年多linux(字符界面)使用记录大概使用了以下命令,我按照自己意思把linux(centos)命令大概分为几种类型,有些也不是很合理的分类:

  文件用户管理

ls -lh 显示权限

cp -r 复制文件 文件夹

mkdir test

  创建文件夹

rm -rf 删除文件 文件夹

mv 源目录 目标目录 移动文件或者文件夹

touch 建立空文件

ln -s 源文件路径 目标文件

cp -rf

r代表递归目录 f代表不提示强制

passwd user1 修改一个用户的口令 (只允许root执行)

usermod -g 组名 用户名 改变用户所在组

usermod -d 目录名 用户名 改变用户登入初始 所在目录

useradd

  添加用户

useradd -g

  组名 用户名

userdel 删除用户 -r

groupadd groupname 组添加

groupdel groupname

  组删除

chmod 权限编号 用户名

chgrp testgroup

  改变文件所属组

chgrp -R testgroup testdir/ 改变目录所属组

chown testuser

  改变文件拥有者

chmod a+x

  改变文件权限 可执行

chattr

  改变文件的特殊属性

chattr +a file1 只允许以追加方式读写文件

lsattr file

显示文件的特殊属性!

umask 改变预设的建立文件或目录时的属性

cat file

  由第一行开始显示文件内容

tac file 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!

more file 一页一页的显示文件内容

less file 与 more 类似,但是比 more 更好的是,他可以往前翻页!

head file 只看头几行

tail file 只看尾巴几行

nl file 显示的时候,顺道输出 行号!

od file

  以二进制的方式读取文件内容!

gzip 压缩 文件名称 -r 目录路径 代表压缩目录 -m代表删除源文件

unzip 解压缩 -x abc 排除abc文件外 其他都解压

rpm -qa | grep 软件包名称

  查看是否安装该软件

rpm -ivh 软件包名称

安装软件

rpm -e 卸载软件

make 多文件编译

tar -zvxf

打开压缩文件

rpm -ql | grep mysql 查找mysql已安装的包

rpm -e 包的名字 ,强制删除加参数 --nodeps

rpm -qa 显示系统中所有已经安装的rpm包

yum install 包名字 yum安装

yum remove 包名字 yum删除

yum list 列出当前系统中安装的所有包

file

可以用来查看这个文件的类型

diff 这个指令可以将‘两个文件之间的差异性列出来’

patch 来进行更新,将 更新到

patch -p0 < h

ldd /usr/bin/passwd 判断某个可执行的 binary 文件含有什么动态函式库

which

查看可执行文件的位置

whereis 查看文件的位置

locate 配合数据库查看文件位置

vi 编辑文件内容 通用

grep -n "关键字" 文件

查找文件内容

find 查找文件

find -size +1000000c -print #查长度大于1Mb的文件

find /home -mmin +60 # 在/home下查60分钟前改动过的文件

find /home -size +512k # 查大于512k的文件

find / -mmin -5 #

查找在系统中最后5分钟里修改过的文件

ls a* a开头所有

ls a?

a开头只有两个字符的

ls abc[1-6] 以开始abc后面1-6数字结尾的文件

ls 》cmd 输出文件夹内容

ls -ahl

查看文件所在组

磁盘管理

ls

查看目录

cd

进入目录 ..代表上一级 cd直接进入工作目录 .代表当前目录

pwd

显示当前目录

df /目录 查看目录在系统分区挂载点

mount

/目录 挂载目录

umount /目录 卸载挂载点

head -n 1 /etc/issue 查看操作系统版本

cat /proc/cpuinfo 查看CPU信息

hostname

查看计算机

lspci -tv

列出所有PCI设备 (centos6)需要安装 pciutils

lsusb -tv 列出所有USB设备 (centos6)需要安装 usbutils

lsmod

列出加载的内核模块

env 查看环境变量

echo $path

查看环境变量

free -m 查看内存使用量和交换区使用量

du -sh <目录名> 查看指定目录的大小

grep MemTotal /proc/meminfo 查看内存总量

grep MemFree /proc/meminfo 查看空闲内存量

uptime 查看系统运行时间、用户数、负载

cat /proc/loadavg 查看系统负载

sar 来看系统的资源

du 来知道目前磁盘的文件容量

hdparm -i /dev/hda

查看磁盘参数(仅适用于IDE设备)

dmesg | grep IDE 查看启动时IDE设备检测状况

dump -0aj -f /tmp/ /home 制作一个 '/home' 目录的完整备份

dump -1aj -f /tmp/ /home

制作一个 '/home' 目录的交互式备份

restore -if /tmp/ 还原一个交互式备份

网络通讯

netstat -lntp

查看所有监听端口

netstat -antp 查看所有已经建立的连接

netstat -s 查看网络统计信息

traccroute

追踪路由

route -n 查看路由表

ping

查看网络是否畅通

系统管理

chkconfig --list 列出所有系统服务

chkconfig --list | grep on

列出所有启动的系统服务

cut -d: -f1 /etc/passwd 查看系统所有用户

cut -d: -f1 /etc/group 查看系统所有组

crontab -l 查看当前用户的计划任务

crontab -e 例行性工作编辑

ifconfig 查看ip配置

kill

杀死进程 -9 强制杀死

ps -aux 查看进程信息

top

显示系统重要信息 包括内存 cpu 负载 登入用户

setup 图形化界面配置系统信息

runlevel 显示当前运行级别

w 查看活动用户

id <用户名>

查看指定用户信息

last

查看用户登录日志

who

问问自己是谁

exit 退出当前用户

uname -a 查看内核/操作系统/CPU信息

fdisk -l 查看所有分区

echo $0 查看系统当前用户转换后的shell

echo $shell 查看系统默认使用shell

/etc/shells

查看shell列表

sh

转换sh

bash 转换bash

redhat系统 chsh -s 转换shell 需要注销才能转换不同的shell

shutdown

关机相关 -h 关机 -r now 重启

su - user 切换用户

su

切换root

reboot 系统重启

mount | column -t

查看挂接的分区状态

swapon -s 查看所有交换分区

iptables -L 查看防火墙设置

mke2fs

建立Linux系统使用的ext2文件系统

fsck 检查和维护不一致的文件系统。若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查修理磁盘

3 建立为ext2/ext3文件系统

dumpe2fs 查看特定设备上现存的文件系统的超级块(super block)和块群(blocks group)的信息

mkswap /dev/hda3

创建一个swap文件系统

service 服务名称 restart stop start 服务重启等

其他

history 查看历史命令

clear

清理屏幕

su 切换超级管理用户

sudo passwd root

超级管理用户密码

bc 计算器

cal

日期

date 时间 月 年

wall 发送消息给所有登入用户

write 发送消息给某个用户

mesg

阻挡其他用户传递过来的消息

mail

发送邮箱给用户

pidof :找出某支正在运行的程序的 PID

fuser:藉由文件(或文件系统)找出正在使用该文件的程序

vmstat :侦测系统资源变化

dmesg :分析核心产生的信息

------------------------------------------

下面是比较重要的命令详解 经常用到

top、ps、setup命令详解,vi使用

1 top命令

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。

top 显示结果如下所示:

01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48

Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie

Cpu(s): 0.3% user, 1.0% system, 0.0% nice, 98.7% idle, 0.0% wa, 0.0% hi, 0.0% si

Mem: 191272k total, 173656k used, 17616k free, 22052k buffers

Swap: 192772k total, 0k used, 192772k free, 123988k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

1379 root 16 0 7976 2456 1980 S 0.7 1.3 0:11.03 sshd

14704 root 16 0 2128 980 796 R 0.7 0.5 0:02.72 top

1 root 16 0 1992 632 544 S 0.0 0.3 0:00.90 init

2 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0

3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0统计信息区

前五行是系统整体的统计信息。

第一行是任务队列信息,同uptime命令的执行结果。其内容如下:

01:06:48 当前时间

up 1:22 系统运行时间,格式为时:分

1 user 当前登录用户数

load average: 0.06, 0.60, 0.48系统负载,即任务队列的平均长度。

三个数值分别为1分钟、5分钟、15分钟前到现在的平均值。

第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。内容如下:

Tasks: 29 total 进程总数

1 running 正在运行的进程数

28 sleeping 睡眠的进程数

0 stopped 停止的进程数

0 zombie 僵尸进程数

Cpu(s): 0.3% us 用户空间占用CPU百分比

1.0% sy 内核空间占用CPU百分比

0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比

98.7% id 空闲CPU百分比

0.0% wa 等待输入输出的CPU时间百分比

0.0% hi

0.0% si

最后两行为内存信息。内容如下:

Mem: 191272k total物理内存总量

173656k used 使用的物理内存总量

17616k free 空闲内存总量

22052k buffers 用作内核缓存的内存量

Swap: 192772k total交换区总量

0k used 使用的交换区总量

192772k free 空闲交换区总量

123988k cached 缓冲的交换区总量。

内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,

该数值即为这些内容已存在于内存中的交换区的大小。

相应的内存再次被换出时可不必再对交换区写入。

进程信息区

统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。

序号 列名 含义

a PID 进程id

b PPID 父进程id

c RUSER Real user name

d UID 进程所有者的用户id

e USER 进程所有者的用户名

f GROUP 进程所有者的组名

g TTY 启动进程的`终端名。不是从终端启动的进程则显示为?

h PR 优先级

i NI nice值。负值表示高优先级,正值表示低优先级

j P 最后使用的CPU,仅在多CPU环境下有意义

k %CPU 上次更新到现在的CPU时间占用百分比

l TIME 进程使用的CPU时间总计,单位秒

m TIME+ 进程使用的CPU时间总计,单位1/100秒

n %MEM 进程使用的物理内存百分比

o VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

p SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。

q RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

r CODE 可执行代码占用的物理内存大小,单位kb

s DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb

t SHR 共享内存大小,单位kb

u nFLT 页面错误次数

v nDRT 最后一次写入到现在,被修改过的页面数。

w S 进程状态。

D=不可中断的睡眠状态

R=运行

S=睡眠

T=跟踪/停止

Z=僵尸进程

x COMMAND命令名/命令行

y WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名

z Flags 任务标志,参考sched.h

默认情况下仅显示比较重要的PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND列。可以通过下面的快捷键来更改显示内容。

------------------------------------------

2 ps 命令说明

ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的

top 显示结果如下所示:

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

root 3532 0.0 0.2 2428 452 ? Ss 20:40 0:00 gpm -m /dev/input/mice -t imps2

USER:说明该程序是属于哪一个人的;

PID:该程序的代号;

%CPU:代表该程序使用了多少 CPU 资源;

%MEM:代表该程序使用了多少的 RAM ;

VSZ, RSS:占去的 ram 的大小( bytes );

TTY:是否为登入者执行的程序?若为 tty1-tty6 则为本机登入者,若为 pts/?? 则为远程登入者执行的程序

STAT:该程序的状态,( R )为可执行的,( S )为该程序正在睡眠中,就是没有执行了,( T )正在侦测或者是停止了,( Z )僵尸程序,就是 zombie 死掉的程序啦!需要以 kill 除去啰!

START:该程序开始的日期;

TIME:该程序跑了多久的时间?

COMMAND:该程序的内容啦!

------------------------------------------

3 setup介绍

setup是redhat系列(包括centos,fedora等)里很好用的一个工具,不过可惜的是其它发行版里并没有。

为了系统的干净高效,安装系统时使用centos

6最小化安装(为了可以手工编译一些软件包,在安装时选择了马上定制,多选择了开发工具),装完了配置系统时,发现没有setup这个工

具,whereis setup ,结果是空的。yum install setup,

系统提示已经安装了setup包。上网查,原来这个包的名字不叫setup, 而是setuptool,

yum install setuptool

不过运行这时setup只有Authentication configuration可用

防火墙的配置包叫system-config-firewall, yum安装,自动安装两个依赖包:system-config-firewall-tui, system-config-firewall-base.

通过yum list system-config*查询有好几个相关的包,应该都是与setup功能有关的

ch

ch

ch

ch

ch

ch

system-config-keyboard

ch

ch

ch

ch

system-config-printer

system-config-printer-libs

system-config-printer-udev

ch

system-config-services-docs

ch

ch

另外还有一个服务配置工具,它的名字比较特殊,跟上面所述包名字完全不一样,它叫ntsysv

运行yum install ntsysv 安装setup的服务设置工具

不过,系统配置方面,能手工做就手工做,借助图形化工具不是提高水平的途径。

setup是一个设置公用程序,提供图形界面的操作方式。在setup中可设置7类的选项:

1.登陆认证方式

2.键盘组态设置

3.鼠标组态设置

4.开机时所要启动的系统服务

5.声卡组态设置

6.时区设置

7.X Windows组态设置

------------------------------------------

4 vi使用

vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于

对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编

辑器,学会它后,您将在Linux的世界里畅行无阻。

一般模式:以 vi 处理一个文件的时后,一进入该文件就是一般模式了。在这个模式中,你可以使用‘上下左右’按键来移动光标,您可以使用‘删除字符’或‘删除整行’来处理文件内容,也可以使用‘复制、贴上’来处理您的文件数据。

编辑模式:在一般模式中可以处理删除、复制、贴上等等的动作,但是却无法编辑的!要等到您按下‘i, I, o, O, a, A, r,

R’等字母之后才会进入编辑模式。注意了!通常在 Linux 中,按下上述的字母时,在画面的左下方会出现‘ INSERT 或 REPLACE

’的字样,才可以输入任何字来输入到您的文件中!而如果要回到一般模式时,则必须要按下‘Esc’这个按键即可退出编辑模式。

指令列命令模式:在一般模式当中,输入‘ : 或 / ’就可以将光标移动到最底下那一行,在这个模式当中,可以提供您‘搜寻资料’的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号 等等的动作则是在此模式中达成的!

一般模式: 移动光标

h 或 向左方向键

光标向左移动一个字符

j 或 向下方向键

光标向下移动一个字符

k 或 向上方向键

光标向上移动一个字符

l 或 向右方向键

光标向右移动一个字符

[Ctrl] + [f]

屏幕‘向前’移动一页(常用)

[Ctrl] + [b]

屏幕‘向后’移动一页(常用)

[Ctrl] + [d]

屏幕‘向前’移动半页

[Ctrl] + [u]

屏幕‘向后’移动半页

+

光标移动到非空格符的下一列

-

光标移动到非空格符的上一列

n

按下数字后再按空格键,光标会向右移动这一行的 n 个字符。例如 20 则光标会向后面移动 20 个字符距离。

0

这是数字‘ 0 ’:移动到这一行的最前面字符处(常用)

$

移动到这一行的最后面字符处(常用)

H

光标移动到这个屏幕的最上方那一行

M

光标移动到这个屏幕的中央那一行

L

光标移动到这个屏幕的最下方那一行

G

移动到这个文件的最后一行(常用)

nG

移动到这个文件的第 n 行。例如 20G 则会移动到这个文件的 20 行(可配合 :set nu)

n

光标向下移动 n 行(常用)

一般模式: 搜寻与取代

/word

向光标之后寻找一个字符串名称为 word 的字符串。(常用)

?word

向光标之前寻找一个字符串名称为 word 的字符串。

:n1,n2s/word1/word2/g

在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !(常用)

:1,$s/word1/word2/g

从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用)

:1,$s/word1/word2/gc

从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给使用者确认(conform)是否需要取代!(常用)

一般模式: 删除、复制与贴上

x, X

x 为向后删除一个字符, X 为向前删除一个字符(常用)

nx

向后删除 n 个字符

dd

删除游标所在的那一整列(常用)

ndd

删除光标所在的向下 n 列,例如 20dd 则是删除 20 列(常用)

d1G

删除游标所在到第一行的所有数据

dG

删除游标所在到最后一行的所有数据

yy

复制游标所在的那一行(常用)

nyy

复制光标所在的向下 n 列,例如 20yy 则是复制 20 列(常用)

y1G

复制游标所在列到第一列的所有数据

yG

复制游标所在列到最后一列的所有数据

p, P

p 为复制的数据在光标下一行贴上,P 则为贴在游标上一行!(常用)

J

将光标所在列与下一列的数据结合成同一列

c

重复删除多个数据,例如向下删除 10 行,[ 10cj ]

u

复原前一个动作。(常用)

进入编辑模式

i, I

插入:在目前的光标所在处插入输入之文字,已存在的文字会向后退;(常用)

a, A

增加:由目前光标所在的下一个字开始输入,已存在的文字会向后退:(常用)

o, O

插入新的一行:从光标所在的下一行枝行首开始输入文字;(常用)

r, R

取代:r 会取代光标所在的那一个字符;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用)

Esc

退出编辑模式,回到一般模式中(常用)

指令列命令模式

:w

将编辑的数据写入硬盘文件中(常用)

:w!

若文件属性为‘只读’时,强制写入该文件

:q

离开 vi (常用)

:q!

若曾修改过文件,又不想储存,使用 ! 为强制离开不储存文件。

:wq

储存后离开,若为 :wq! 则为强制储存后离开(常用)

:e!

将文件还原到最原始的状态!

ZZ

若文件没有更动,则不储存离开,若文件已经经过更动,则储存后离开!

:w [filename]

将编辑的数据储存成另一个文件(类似另存新档)

:r [filename]

在编辑的数据中,读入另一个文件的数据。亦即将 ‘filename’这个文件内容加到游标所在行后面

:set nu

显示行号,设定之后,会在每一行的前缀显示该行的行号

:set nonu

与 set nu 相反,为取消行号!

n1,n2 w [filename]

将 n1 到 n2 的内容储存成 filename 这个文件。

:! command

暂时离开 vi 到指令列模式下执行 command 的显示结果!例如[ :! ls /home ]

标签: LINUX 常用命令
  • 文章版权属于文章作者所有,转载请注明 https://xuezhezhai.com/itrz/linux/lwmgre.html