前几天学习了一下Linux的基本命令,在此分享出来,以作为总结。
环境:192.168.54.242
cd:
cd - 切换至上一次使用路径;
cd .. 进入到父路径
cd ~ 进入到root/目录
cd 同上
cd ../ 相对目录
mkdir:
mkdir a 创建目录a
mkdir -p a/b/c 创建树目录
mkdir -m 777 a 创建目录a并赋予最大权限
mkdir -m a=rwx a 同上
(关于权限:rwx分别指:read,write,execute,常用的权限对应的权限值:rwxrwxrwx 777,rwx--x--x 711, rwxr-xr-x 755)
mkdir -v -m a=--- d 创建目录d并赋予最小权限(额...),并在创建时显示信息
rmdir:删除空目录
rmdir a 删除空目录a,a目录必为空
rmdir -p d/e/f 删除树目录,前提每个目录都是空的
ls:常用-la,-lh,
ls 列出当前目录下档案,排序列出
ls /var/www/html 列出指定目录下档案
ls -a 列出全部档案,包括隐藏和.以及..
ls -A 列出全部档案,包括隐藏
ls -d */ 列出所有目录
(说明-d:仅是列出当前目录本身,而非目录中的档案数据)
ls -d */*/ 列出下一目录的所有目录
ls -f 直接列出档案,而不对档案排序,包括隐藏和.以及..
ls -F 加上文件类型的指示符号*/=|,分别表示:可执行文件,目录,Socket档案,FIFO档案
ls -l 详细信息显示:权限、使用者、群组、大小、时间等信息
ls -n 详细信息显示:UID、GID、群组、大小、时间等信息
ls -h -l -h与-l同时使用,以易于阅读的格式输出文件大小(例如 1K 234M 2G)
ls -i 列出inode号
ls -r 将结果反向输出
ls -R 当前目录和子目录一并显示
ls -s 按照容量大小排序
ls -t 按照时间排序
date:
date 显示当前时间
date -d 16-5-30 显示指定时间
date -r 33.png 显示file的最后修改时间
date -s "17:50:03 2016-05-31" 设置日期和时间
date -s 12:23:23 设置具体时间,不会对日期做更改
date -s 20061010 设置年月日,会把具体时间设置成空00:00:00
date -u 显示或设置全球时间(格林威治时间)
date +%y-%m-%d 按照此格式显示年月日
date "+%y-%m-%d %H:%M:%S" 按照此格式输出具体实现(HMS必为大写)
cal:
cal 查看当前月日历
cal -1 查看一个月内日历
cal -2 查看三个月内日历
cal -m 查看日历以周一开始
cal -s 查看日历以周日开始
cal -y 查看一整年的日历
find:寻找特定档案
find 查找当前目录下所有
find /home -newer /home/temp/tst 按时间查询,查找比/home/temp/下tst文件新的所有/home下的文件
find . -mtime +5 按时间查询,查找当前目录下5天以前修改的,-表示以内,+表示以前
find . -mmin -5 按时间查询,查找当前目录下5分钟以内修改的
find . -name "*ma*" 按名称查询,查找当前目录下包含ma的档案
find . -name "*.png" -print 按名称查询,查找当前目录下.png文件(区分大小写哦,例如JPG和jpg是不一样的)
find ~ -name "[0-9]*.png" 按名称查找,查找root目录下以数字开头的.png文件([0-9]只表示一位数字哦)
find .money -name "[0-9]*.png" 同上,查找隐藏目录.money下
find . -perm 755 -name "i*" 按权限查找,查找当前目录下权限为755,名称以i开头的档案
find . -type d 按类型查找,查找目录(b块设备文件; d目录; c字符设备文件; p管道文件; l符号链接文件; f普通文件; s socket文件)
find . ! -type d 按类型查找,查找非目录
find . -nouser/nogroup 按所属用户/用户组查找,查找没有归属的档案
find . -user root -group root 按所属用户/用户组查找,查找属于root用户,root用户组的档案
find . -size +1000b 按大小查找,+表示大于,-表示小于,b表示字节,c表示字符,默认是块,一块=512b
grep:
ps:
netstat:显示网络连接,路由表,接口状态,伪装连接,网络链路信息和组播成员组
netstat 显示打开的套接字. 如果不指定任何地址族,那么打印出所有已配置地址族的有效套接字
netstat -r 显示内核路由表,r指route
netstat -g 显示IPv4 和 IPv6的IGMP组播组成员关系信息,g指groups
netstat -i 显示所有网络接口列表
netstat -s 显示每种协议(IP、ICMP、TCP、UDP等)的统计信息,s指statistics
netstat -c 3 将使 netstat 不断地每3秒输出所选的信息
netstat -a | more 列出所有端口 (包括监听和未监听的)
netstat -at 列出所有TCP端口
netstat -au 列出所有UDP端口
netstat -tpnl 显看已连接的TCP端口,以及PID.(t指tcp,p指PID,n指数字形式显示地址,l指只显示正在监听的套接字)
netstat -anp | grep 3306 -c 查看3306(mysql)端口的连接数
netstat -alp | grep 8080 找出运行在指定端口的进程
top:显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等
top -b 以批处理模式显示程序信息
top -c 显示完整
top -S 以累积模式显示
top -u root 指定用户名
top -p 10 指定进程号显示
top -n 3 循环显示的次数,更新显示3次后停止
以下对top的结果信息作说明:
PID 进程id
PPID 父进程id
RUSER Real user name
UID 进程所有者的用户id
USER 进程所有者的用户名
GROUP 进程所有者的组名
PR 优先级
NI nice值。负值表示高优先级,正值表示低优先级
%CPU 上次更新到现在的CPU时间占用百分比
TIME 进程使用的CPU时间总计,单位秒
TIME+ 进程使用的CPU时间总计,单位1/100秒
%MEM 进程使用的物理内存百分比
VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。
RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
CODE 可执行代码占用的物理内存大小,单位kb
DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
SHR 共享内存大小,单位kb
nFLT 页面错误次数
nDRT 最后一次写入到现在,被修改过的页面数。
S 进程状态。
D=不可中断的睡眠状态
R=运行
S=睡眠
T=跟踪/停止
Z=僵尸进程
COMMAND 命令名/命令行
free:显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存
free -b 显示内存的单位为字节
free -k 显示内存的单位为 KB(默认也是KB)
free -m 显示内存的单位为 M
free -o 忽略缓冲区调节列
free -t 总和信息
free -s 3 每隔3秒执行一次命令,单位为s
free -h 以可读形式显示容量,需要free -V显示版本大于3.3
free -V 版本信息(大写的V)
vim使用:
详见:http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html
vim test.txt 打开文件(若文件不存在则创建并打开)
vim模式:
1.一般模式 按ESC或ctrl+[进入
2.编辑模式 在一般模式下通过:i/I o/O a/A进入
3.可视模式 在一般模式下通过v/V进入
vim test1.txt test2.html 同时打开多个文件
:bn 切换到上一下文件
:bp 切换到下一个文件
:open test4.txt 在当前vim窗口打开一个新的文件
:args 查看当前打开的文件,[]中为正在编辑的文件
/text 查找text,按n健查找下一个,按N健查找前一个。
?text 同上,查找隐藏目录
x 删除当前字符。dl=x
3x 删除当前光标开始向后三个字符
X 删除当前字符的前一个字符。X=dh
dd 删除当前行
dj 删除上一行
dk 删除下一行
10d 删除当前行开始的10行。
D 删除当前字符至行尾。D=d$
:wq 保存并退出
ZZ 保存并退出
:q! 强制退出并忽略所有更改
:e! 放弃所有修改,并打开原来文件。