linux常⽤命令记录⼤全
Linux虽然是免费的,但它的确是⼀个⾮常优秀的操作系统,与MS-WINDOWS相⽐具有可靠、 稳定、速度快等优点,且拥有丰富的根据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、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 4 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功能有关的 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编辑器是所有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 』:移动到这⼀⾏的最前⾯字符处(常⽤) $
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- sceh.cn 版权所有 湘ICP备2023017654号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务