博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux命令
阅读量:5921 次
发布时间:2019-06-19

本文共 10678 字,大约阅读时间需要 35 分钟。

Linux虽然是免费的,但它的确是一个非常优秀的操作系统,与MSWINDOWS相比具有可靠、 稳定、速度快等优点,且拥有丰富的根据UNIX版本改进的强大功能。下面让我们一起来学习Linux的一些主要命令。有一点一定要注意,和dos命令不同的是,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 test3.txt 改变文件所属组
chgrp -R testgroup testdir/ 改变目录所属组
chown testuser test.txt 改变文件拥有者
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   压缩  zaa.zip 文件名称     -r aa.zip 目录路径  代表压缩目录    -m代表删除源文件
unzip  解压缩 -x abc 排除abc文件外 其他都解压
rpm -qa | grep 软件包名称 查看是否安装该软件
rpm -ivh 软件包名称 安装软件
rpm -e 卸载软件 
make 多文件编译
tar -zvxf filename.tar 打开压缩文件 
rpm -ql | grep mysql 查找mysql已安装的包
rpm -e 包的名字 ,强制删除加参数 --nodeps
rpm -qa 显示系统中所有已经安装的rpm 
yum install 包名字 yum安装
yum remove 包名字   yum删除 
yum list 列出当前系统中安装的所有包
file 可以用来查看这个文件的类型
diff 这个指令可以将『两个文件之间的差异性列出来』
patch 来进行更新,将 expatch.old 更新到 expatch.new 
patch -p0 < expatch.patch
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/home0.bak /home 制作一个 '/home' 目录的完整备份
dump -1aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的交互式备份
restore -if /tmp/home0.bak 还原一个交互式备份
网络通讯 
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命令对文件系统进行检查修理磁盘 
mkfs.ext3  建立为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
pssetup命令详解,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 
进程使用的虚拟内存总量,单位kbVIRT=SWAP+RES
p     SWAP 
进程使用的虚拟内存中,被换出的大小,单位kb
q     RES  
进程使用的、未被换出的物理内存大小,单位kbRES=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
 
默认情况下仅显示比较重要的PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+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功能有关的
system-config-firewall.noarch
system-config-firewall-base.noarch
system-config-firewall-tui.noarch
system-config-date.noarch
system-config-date-docs.noarch
system-config-kdump.noarch
system-config-keyboard
system-config-kickstart.noarch
system-config-language.noarch
system-config-lvm.noarch
system-config-network-tui.noarch
system-config-printer
system-config-printer-libs
system-config-printer-udev
system-config-services.noarch
system-config-services-docs
system-config-users.noarch
system-config-users-docs.noarch
 
另外还有一个服务配置工具,它的名字比较特殊,跟上面所述包名字完全不一样,它叫ntsysv
运行yum install ntsysv 安装setup的服务设置工具
不过,系统配置方面,能手工做就手工做,借助图形化工具不是提高水平的途径。

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

  1.登陆认证方式 
  2.键盘组态设置
  3.鼠标组态设置
  4.开机时所要启动的系统服务
  5.声卡组态设置
  6.时区设置 
  7.X Windows组态设置 
------------------------------------------

4 vi使用 

      vi编辑器是所有UnixLinux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于 UnixLinux系统的任何版本,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<space>
   
按下数字后再按空格键,光标会向右移动这一行的 n 个字符。例如 20<space> 则光标会向后面移动 20 个字符距离。
0
   
这是数字『 0 』:移动到这一行的最前面字符处(常用)
$
   
移动到这一行的最后面字符处(常用)
H
   
光标移动到这个屏幕的最上方那一行
M
   
光标移动到这个屏幕的中央那一行
L
   
光标移动到这个屏幕的最下方那一行
G
   
移动到这个文件的最后一行(常用)
nG
   
移动到这个文件的第 n 行。例如 20G则会移动到这个文件的 20 (可配合 :set nu)
n<Enter>
   
光标向下移动 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 ]
------------------------------------------
命令查看帮助三种方式 
info command
command --help
man  command

 

转载地址:http://lhnvx.baihongyu.com/

你可能感兴趣的文章
算法:二分查找
查看>>
Reflected File Download Attack
查看>>
RAC的使用心得
查看>>
「译」内存管理碰撞课程
查看>>
数据结构系列全集
查看>>
使用jupyter(IPython)开发opencv
查看>>
写一个最简陋的node框架(2)
查看>>
并非 Null Object 这么简单
查看>>
聊聊rocketmq的RequestTask
查看>>
聊聊springcloud的featuresEndpoint
查看>>
十、performSelector延时调用内存泄漏的问题
查看>>
如何使用__block 与 __weak
查看>>
iOS传感器:使用陀螺仪完成一个小球撞壁的小游戏
查看>>
理解JVM(二):垃圾收集算法
查看>>
多迪技术部带你看看什么叫程序员的桌面人生
查看>>
使用MLeaksFinder检测项目内存泄露总结
查看>>
一条咸鱼的校招之路
查看>>
SystemServer启动流程
查看>>
Regular进阶: 跨组件通信
查看>>
filter some
查看>>