Linux基础
一.Linux基本指令
ls指令
功能 列出本目录下所有的目录与文件
ls [选项][文件或目录]
对于文件 ls 将列出名以及其他信息
对于目录 ls 将列出该目录下
选项
-a 列出本目录的所有文件 包括 . 隐藏文件
-l 列出本目录下文件详细信息
-k 以字节的形式列出本文件大小
-kh 以 k 显示文件大小 更加容易浏览
-t 以文件时间进行排序
-1 一行只输出一个文件
在Linux中,选项之间是可以进行组合的。pwd指令
功能 显示用户所在当前目录
cd指令
功能 改变工作目录
cd .. 返回上一级目录
cd /目录名/目录名 以绝对路径进入
cd ~ 返回家目录
cd - 返回最近访问的目录
touch 指令
功能 touch可以改变目录或文件的日期时间,或者创建一个不存在的文件。
mkdir 指令
功能 在当前目录下创建一个目录
选项 -p parent parent可以是一个路径,如果此路径不存在,则系统将建立好那些不存在的目录(一次可以创建多个目录)
rmdir/rm 指令 删除指令
rmdir删除目录
选项 -p 当子目录被删除后,父目录变为空目录,连带父目录一起删除。
rm 删除文件
选项 -f 强制删除
-r 递归删除
man指令
功能 访问linux帮助手册cp指令
功能 复制目录或文件
cp[选项] 源文件或目录 目标文件或目录
选项 -r 递归处理
mv指令
功能 移动文件或将文件改名
mv[选项] 源文件或目录 目标文件或目录
mv -f 强制覆盖
当第二个参数是文件时,mv完成文件重命名
cat/tac 指令
功能 查看目标文件内容
cat[选项][文件]
-n 对输出的所有行编号 -b -s
more 指令
功能 与 cat 类似
less 指令
less[选项]文件
功能与more类似,但是less可以随意浏览文件。more只能向前移动,却不能向后移动。
less在查看之前不会加载整个文件。
/字符串 向下搜索字符串
?字符串 向上搜索字符串
-i -N n N
q 退出head 指令
显式文件内容 从头部开始,默认显式10行。
-n20 一次显式20行
tail 指令
从尾部开始显式文件内容
-n输出重定向
输出重定向符 >
linux中使用重定向符号可以实现输入输出重定向,默认条件下,标准输出和错误输出都是终端,可以将标准输出和错误输出进行重定向。
例 : 有一个100行的文件,只显式其第50行
seq 1 100 > test
通道: | 从管道中读取输出
head -n50 test | tail -n1时间指令
date +选项
%H 小时
%M 分钟
%S 秒
%X 等同于 %H:%M:%S
%Y %d %m %F
设定时间
date -s root权限下设置 // date -s 20080101
命令替换符 touch
date +%F.log` 生成一个日志文件
date -d @1510774172 +%F 格式化转换
Cal 指令
cal [选项] 月份 年份
显示公历日历
find 指令
在某一路径下查找文件
find -name 按照文件名查找 在目录结构中搜索文件,并执行指定操作。
grep 指令
功能 在文件中找内容
在文件中搜索字符串,将涨到的行打印出来。
grep -n 打印行号
-i 忽略大小写
-v 反向选择
zip/unzip 指令
将目录或文件压缩为zip格式 zip test2.zip test2/* unzip test2.zip -d /tmp
-r 递归处理tar 指令
将文件打包/解包
-c 建立一个文件压缩 tar -cvf tar-zcvf tar-jcvf
-x 解开一个文件压缩 tar - zxv tar -jxv
-t
-z 是否具有gzip属性,gzip解压
-j 是否具有bzip2属性,bzip解压
-v 压缩过程中显示文件名
-C 解压到指定目录
打包
解压
但是这样仅仅是打包,实质上并没有对文件进行压缩。
gzip压缩
此时可以发现,压缩包大小较之前已经变小
解压
bzip压缩可以自己尝试bc 浮点数计算器
uname -r 指令
获取电脑相关信息
shutdown -h 服务停止后立即关机
-r 服务停止后立即重启
-t sec s秒后关机
Linux下重要命令
du 命令
功能 查看使用空间,对文件和目录使用的空间进行查看。
du [选项] [文件]
du -a 显示所有文件的大小。
du -h 以k为单位,提高信息的可读性。
其他指令可以自己试
df 命令
功能 查看使用空间,查看Linux服务器的文件系统的磁盘占用情况
df [选项] [文件]
可以用此命令来获取硬盘被占用了多少空间,目前还剩下多少空间。
默认以 1kb 显示
top 命令
top [参数]
top命令是Linux系常用的性能分析工具,能够显示系统中各个进程资源占用的情况
功能 显示系统中各个进程资源占用的情况等信息。
类似于windows下的任务管理器
top -b 完整显示
top -i 设定间隔时间
top -u 指定用户名
top -p 指定进程
内容
第一行:
top - 17:38:40 up 16:32, 2 users, load average: 0.00, 0.00, 0.00
系统当前时间 系统开机到现在经过的时间 系统1分钟,5分钟,15分钟的cpu负载信息
第二行
Tasks: 136 total, 1 running, 135 sleeping, 0 stopped, 0 zombie
当前有136个任务 一个进程在运行 135个进程睡眠 停止的进程数 僵尸态的进程数
第三行
Cpu(s):2.0%us,0.3%sy,0.0%ni,97.6%id,0.0%wa, 0.0%hi, 0.0%si,0.0%st
CPU总体信息
us 用户态进程占用cpu时间百分比
sy 内核占用cpy时间百分比
ni 改变过优先级的进程占用cpu的百分比
id 空闲cpu时间百分比
wa 等待I/O的cpy时间百分比
hi cpu硬中断时间百分比
si cpu软中断时间百分比
第四行
Mem: 1004412k total,834212k used,170200k free,98740k buffers
内存 :物理内存总量,使用的物理内存量,空闲的物理内存量,用作内核缓存的物理内存量
第五行
Swap: 2931608k total, 0K used, 2031608k free, 408584k cached
交换空间:交换区总量,使用的交换区量,空闲的交换区量,缓冲交换区量=
进程信息
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
PID 进程ID
USER 进程所有者
PR 进程优先级
NI 值
VIRT 进程占用的虚拟内存
RES 进程占用的物理内存
SHR 进程使用的共享内存
S 进程的状态 S表示休眠 R表示正在运行 Z表示僵死状态,N表示该进程优先值为负
%CPU 进程占用CPU的使用率
%MEM 进程使用的物理内存和总内存的百分比
TIME+ 该进程启动后占用的总的CPU时间
COMMADN 进程启动命令名称
q 退出 top命令 : 立即刷新
c 完全显示 t 显示隐藏进程和cpu状态信息
- free 命令
功能 显示系统使用和空闲的内存情况
内容
total 总物理内存大小
used 已使用内存大小
free 可用内存大小
shared 多个进程共享的内存总额
buffers/cached 磁盘缓存的大小
Swap 交换分区(虚拟内存)
可用内存=系统free memory+buffers+cached。
pastack 命令
pastack pid
功能 显示每个进程的栈跟踪,必须由进程的属主或root运行。
来确定进程挂起的位置。su 命令
功能 用户权限切换
sudo(sudo -.sudo -s) 命令
sudo[选项][参数]
功能 用其他身份来执行命令,预设为root,使用时必须先输入密码,有5分钟有效期。
具体功能可以查看man手册useradd
useradd[选项][参数]
功能 添加账户,再用passwd设定账户密码。
userdel删除账号。
使用useradd建立的账户,实际上保存在 /etc/passwd文本文件中password
password[选项][参数]
功能 设置用户信息,系统管理者可以管理系统用户密码。
-b 删除密码
-f 强制执行
-I 锁定密码
-u 解锁账户
Linux下重要目录
Linux下的重要目录/proc, /sys, /SElinux, /bin, /usr/lib, /usr/local, /var, /tmp
1. /proc 特殊文件目录
操作系统运行时,进程信息及内核信息存放在这里。 /proc目录是伪装的文件系统proc的挂载目录,proc并不是真正的文件系统。因此这个目录是一个虚拟的目录,我们可以直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里。
2. /sys sys目录下安装了2.6内核中新出现的一个文件系统 sysfs,sysfs文件系统集成了三种文件系统的信息
针对进程信息的proc文件系统
针对设备的devfs文件系统
针对伪终端的devpts文件系统
sysfs文件系统 是内核设备树的一个直观反映。
/SElinux
这个目录是 RedHat/CentOS所特有的目录,Selinux是一个安全机制,存放selinux相关文件,一般禁止使用。/bin
目录中存放着linux系统命令/usr/lib
/lib 目录里存放着系统最基本的动态链接共享库,包含许多被/bin/和/sbin/中的程序使用的库文件。目录/usr/lib/中含有更多用于用户程序的库文件。/usr/local
这个目录一般用来存放用户安装软件的存放目录,一般是通过源码包安装的软件。/var
/var/log 用来存放系统日志目录
/var/www 用来定义Apache服务站点存放目录
/var/lib 用来存放一些库文件/tmp
用于存放临时文件,有时候用户运行程序会产生一些临时文件,tmp就是用来存放临时文件的。