一:命令基本格式
[命令本身] [选项] [参数]
ls :查看列表
ls /: 查看目录下面的所有文件
ls -l / :查看详细信息
ls -l -a :查看所有文件 .号开头的都是隐藏文件 可简写为 (ls -la)
ls -alh :人性化心事 计算出文件的大小
二 文件处理命令
touch: 创建文件;
mkdir:建立目录 ;
cd:切换所在目录,
cd ~ 进入当前用户的家目录,
cd 同上,
cd - 进入上次目录,
cd .. 进入上一级目录,
cd . 进入当前目录;
pwd:查询所在目录位置;
rmdir:删除空目录;
rm:删除文件或目录 ,
选项:
-r 递归删除目录,
-f 强制;
cp:复制,
选项:
-r 复制目录;
mv:剪切或修改
绝对路径: 查找文件/目录的时候都是从根目录依次往下查找, 所有的绝对路径都是使用/开头,无论当前在哪个目录,改路径表示的都是一样的 ls /run/log
相对路径: 查找文件/目录的时候都是基于当前目录依次查找, 所有不是以/开头的目录都是相对路径, 和当前所在的目录有关系, 在不同的目录下面表示的文件可能不一样 ls log
文件查看命令
cat: 整个文件的内容显示出来
tail 默认在屏幕上显示指定文件的末尾10行
参数:
-f 显示文件最新追加的内容。
-行数 在屏幕上显示指定文件的末尾参数设置的行数
less:分页查看文件内容
翻页操作:
下一页: ctrl + f
上一页: ctrl + b
退出: q ctrl+c\
三:文件搜索命令
命令搜索命令:
whereis ls: 显示命令的位置
whereis -b ls :只显示二进制
which:which 文件名 #搜索命令所在路径及别名
PATH环境变量:echo $PATH:输出环境变量
文件搜索命令:find
find /etc -name password: 需求在etc/目录下查找名称为password的文件
也可以 find /etc -name "password" 必须要用双引号
还有一种方法 find /etc -name "[***]password"
find/etc -size 4M:需求在/etc 目录下查找所有文件大于小于的4M的文件
find/etc -size +4M:大于 find/etc -size -4M:小于
如果要求小于小于4M 大于2M的文件 find/etc -size -4M -a find/etc -size +2M
如果在执行完想加上执行语句就得 -exec ls {} ;
find /var/log -mtime +10
查找10天前修改的文件
-10 10天内修改文件
10 10天当天修改的文件
+10 10天前修改的文件
atime 文件访问时间,ctime 改变文件属性时间,mtime 修改文件时间
grep -n -C 5 Row xxx.out :-n 是num 代表显示行数,C 就是上下文 显示上下5行
模糊匹配Row 去xxx.out 这个中去找
find和grep 的区别 一个是找文件,一个是去文件中找内容
帮助命令
man ls :查看ls的帮助
help:获取命令选项的帮助 实例:ls --help
压缩与解压缩命令
.zip格式
压缩: zip 压缩文件名 原文件(zip -r 压缩文件名 原文件,安装 yum install zip)
解压 unzip 压缩文件
.gz格式
压缩: gzip 原文件 #压缩为.gz格式的压缩文件,原文件会消失
gzip -c 原文件 > 压缩文件
压缩为.gz格式,原文件保留
-c的意思不是说需要保留文件,而是要把压缩的结果输出到控制台.
>的意思是把结果输出到什么地方去.
gzip -r 目录
压缩目录下的所有子文件,但是不能压缩目录
解压:gzip -d 压缩文件 解压缩文件
gunzip 压缩文件 #解压缩文件
.bz2格式
压缩: bzip2 源文件
压缩为.bz2格式,不能保留源文件
bzip2 -k 源文件
压缩之后保留源文件
注意:bzip2命令不能压缩目录
解压:bzip2 -d 压缩文件
解压缩,-k保留压缩文件
bunzip2 压缩文件
解压缩,-k保留压缩文件
打包命令&解打包
打包命令:
tar -cvf 打包文件名 源文件
选项:
-c 打包
-v 显示过程
-f 指定打包后的文件名
解打包命令:
tar -xvf 打包文件名
选项:
-x 解打包
.tar.gz格式(其实.tar.gz格式是先打包为tar格式,在压缩为.gz格式)
压缩:tar -zcvf 压缩包名.tar.gz 源文件
选项:-z 压缩为.tar.gz格式
解压:tar -zxvf 压缩包名.tar.gz
选项:-x 解压缩.tar.gz格式
加上-C表示解压到指定的目录
tar -zxvf 压缩包名.tar.gz -C 指定目录
.tar.bz2命令(其实.tar.bz2格式是先打包为tar格式,在压缩为.bz2格式)
压缩:tar -jcvf 压缩包名.tar.bz2 源文件
选项:-c 压缩为.tar.bz2格式
解压:tar -jxvf 压缩包名.tar.bz2
选项:-j 解压缩为.tar.bz2格式
关机和重启命令
shutdown:shutdown [选项] 时间
选项:
-c 取消前一个关机命令
-h 关机
-r 重启
使用shutdown会在关机的时候帮我们保存数据
其他关机命令
使用这三个命令不是特别安全,因为它们不会帮我们保存数据.
halt,poweroff,init 0
其他重启命令
reboot,init 6
系统运行级别
0关机,1单用户,2不完全多用户,不含NFS服务,3完全多用户,4未分配,5图形界面,6重启
查看运行级别:runlevel
系统默认运行级别:cat /etc/inittab #可以修改默认系统级别
退出登录命令:logout
其他命令
查看用户登陆信息:
w 用户名:
命令输出:
USER 登陆的用户名
TTY 登陆终端
FROM 从哪个IP地址登陆
LOGIN@ 登陆时间
IDLE 用户闲置时间
JCPU 指的是和该终端连接的所有进程占用时间.这个事件并不包括去后台作业的时间,但却包括当前正在运行的后台作业所占用时间;
PCPU 是指当前进程所占用的时间
WHAT 当前正在运行的命令
who 用户名
命令输出:
用户名
登陆终端
登陆时间(登陆来源IP地址)
查询当前登陆和过去登陆的用户信息
last
last命令默认时读取/var/log/wtmp文件数据
命令输出
-用户名
-登陆终端
-登陆IP
-登陆时间
-退出时间(在线时间)
查看最后一次登陆时间:lastlog
lastlog命令默认时读取/var/log/lastlog文件内容
命令输出
用户名
登陆终端
登陆IP
最后一次登陆时间
磁盘使用情况:df
df:用于显示磁盘的使用情况
df -h: 格式化显示输出磁盘使用情况
目录文件大小:du
目录文件大小
du 目录名称 显示每个文件的大小
du -sh 目录名称 汇总显示该目录以及子目录下所有文件的大小
查看任务进程:top
任务进程
第一行:
10:01:23 — 当前系统时间
126 days, 14:29 — 系统已经运行了126天14小时29分钟(在这期间没有重启过)
2 users — 当前有2个用户登录系统
load average: 1.15, 1.42, 1.44 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
第二行:
Tasks — 任务(进程),系统现在共有183个进程,其中处于运行中的有1个,182个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
第三行:cpu状态
6.7% us — 用户空间占用CPU的百分比。
0.4% sy — 内核空间占用CPU的百分比。
0.0% ni — 改变过优先级的进程占用CPU的百分比
92.9% id — 空闲CPU百分比
0.0% wa — IO等待占用CPU的百分比
0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
0.0% si — 软中断(Software Interrupts)占用CPU的百分比
第四行:内存状态
8306544k total — 物理内存总量(8GB)
7775876k used — 使用中的内存总量(7.7GB)
530668k free — 空闲内存总量(530M)
79236k buffers — 缓存的内存量 (79M)
第五行:swap交换分区
2031608k total — 交换区总量(2GB)
2556k used — 使用的交换区总量(2.5M)
2029052k free — 空闲交换区总量(2GB)
4231276k cached — 缓冲的交换区总量(4GB)
第五行以下:
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)
查看内存占用:free
内存占用情况:
total:内存总数;
used:已经使用的内存数;
free:空闲的内存数;
buffers Buffer:缓存内存数;
cached Page:缓存内存数。
查看操作历史:history 用于显示执行过的历史命令记录
在显示器输出内容:echo
系统目录结构
1、/- 根
每一个文件和目录从根目录开始。
只有root用户具有该目录下的写权限。请注意,/root是root用户的主目录,这与/不一样
2、/bin中 - 用户二进制文件
包含二进制可执行文件。
在单用户模式下,你需要使用的常见Linux命令都位于此目录下。系统的所有用户使用的命令都设在这里。
例如:ps、ls、ping、grep、cp
3、/sbin目录 - 系统二进制文件
就像/bin,/sbin同样也包含二进制可执行文件。
但是,在这个目录下的linux命令通常由系统管理员使用,对系统进行维护。例如:iptables、reboot、fdisk、ifconfig、swapon命令
4、/etc - 配置文件
包含所有程序所需的配置文件。
也包含了用于启动/停止单个程序的启动和关闭shell脚本。例如:/etc/resolv.conf、/etc/logrotate.conf
hosts:设备名称(或域名)到ip地址的解析,相当于本地存在的dns功能。
5、/dev - 设备文件
包含设备文件。
这些包括终端设备、USB或连接到系统的任何设备。例如:/dev/tty1、/dev/usbmon0
6、/proc - 进程信息
包含系统进程的相关信息。
这是一个虚拟的文件系统,包含有关正在运行的进程的信息。例如:/proc/{pid}目录中包含的与特定pid相关的信息。
这是一个虚拟的文件系统,系统资源以文本信息形式存在。例如:/proc/uptime
7、/var - 变量文件
var代表变量文件。
这个目录下可以找到内容可能增长的文件。
这包括 - 系统日志文件(/var/log);包和数据库文件(/var/lib);电子邮件(/var/mail);打印队列(/var/spool);锁文件(/var/lock);多次重新启动需要的临时文件(/var/tmp);
8、/tmp - 临时文件
包含系统和用户创建的临时文件。
当系统重新启动时,这个目录下的文件都将被删除。
9、/usr - 用户程序
包含二进制文件、库文件、文档和二级程序的源代码。
/usr/bin中包含用户程序的二进制文件。如果你在/bin中找不到用户二进制文件,到/usr/bin目录看看。例如:at、awk、cc、less、scp。
/usr/sbin中包含系统管理员的二进制文件。如果你在/sbin中找不到系统二进制文件,到/usr/sbin目录看看。例如:atd、cron、sshd、useradd、userdel。
/usr/lib中包含了/usr/bin和/usr/sbin用到的库。
/usr/local中包含了从源安装的用户程序。例如,当你从源安装Apache,它会在/usr/local/apache2中。
10、/home - HOME目录
所有用户用home目录来存储他们的个人档案。
例如:/home/john、/home/nikita
11、/boot - 引导加载程序文件
包含引导加载程序相关的文件。
内核的initrd、vmlinux、grub文件位于/boot下。
例如:initrd.img-2.6.32-24-generic、vmlinuz-2.6.32-24-generic
12、/lib - 系统库
包含支持位于/bin和/sbin下的二进制文件的库文件.
库文件名为 ld或lib.so.*
例如:ld-2.11.1.so,libncurses.so.5.7
13、/opt - 可选的附加应用程序
opt代表可选的。
包含从个别厂商的附加应用程序。
附加应用程序应该安装在/opt/或者/opt/的子目录下。
14、/mnt - 挂载目录
临时安装目录,系统管理员可以挂载文件系统。
15、/media - 可移动媒体设备
用于挂载可移动设备的临时目录。
举例来说,挂载CD-ROM的/media/cdrom,挂载软盘驱动器的/media/floppy;
16、/srv - 服务数据
srv代表服务。
包含服务器特定服务相关的数据。
例如,/srv/cvs包含cvs相关的数据。