文章目录
目录切换
根目录:cd /
任何用户执行该命令都会进入同一目录
home目录:cd /home
显示当前系统下的所有用户
用户目录:cd ~
用户相关命令
用户信息存在目录: /home
一个子文件夹对应一个用户
su -username 切换用户
sudo 系统管理员身份执行命令
useradd/userdel 添加用户/删除用户
chmod 777 filename 修改权限
chown 改变文件所属
chgrp 改变文件群组
man useradd帮助
useradd --help 帮助
基本命令
ps
ps -ef进程
- UID 用户id PID进程ID PPID 父进程ID
- kill -9 1001 杀死进程
netstat/lsof 端口
查看端口状态
netstat ntulp|grep 80
netstat详解
lsof -i:80
客户机测试方法:telnet ip 端口号
telnet 192.168.25.111 80
ls
ls -al 查看文件
文件类型 与权限
链接占用的 节点(i-node)
文件所有者
文件所有者 的用户组
文件大小(单位:字节) 可以通过ls -alh来查看
文件的创建时间 /最近修改时间
文件名称
- 文件类型
- 普通文件
d:目录
l:符号链接文件
s:套接字文件
p:命名管道文件FIFO - 权限
r read 4 w write 2 x execute1
u-user g-group o-other a-all
grep
- grep name 查找文件
- grep [string] filename 查找filename中匹配 string的部分并打印
- grep -r [string] 目录 递归找到该目录下符合条件的内容
- grep -v [String] file 反向查找,查找哪一行没有该string
- grep –i “被查找的字符串” 文件名 不区分大小写
- grep -c “被查找的字符串” 文件名 统计行数
find
find 目录 -name “.in" -o ".txt” 按文件名查找
find 目录 -path “local” 按目录查找
find . -type f -atime -7 7天内
find . -type f -atime +7 大于7天
find . -type f -amin +10 大于10分钟
find . -type f -perm 0644 查找指定权限的文件
f 只查找file
d 查找dictictory
访问atime append time
修改mtime modify time
权限变化ctime chmod time
top
查看系统当前的进程在系统中的运行状况等信息
top各字段详解
其他
pwd 查看当前的目录
cp -r sourcefile targetfile 递归复制
mkdir name 创建空目录
mkdir -p test/test1 递归创建目录
mkdir -m 777 test 创建权限为777的目录
rmdir name 删除空目录
rm -f name 删除不为空的目录
mv sourcefile targetfile 移动文件/改名
history 查看用过的命令列表
df -hl 查看磁盘使用
ifconfig 查看ip及接口信息
job -l 查看后台任务
alias la=‘ls -a’ 文件取别名
压缩打包命令
- tar -xvzf test.tar.gz 解压文件
x 拆包 v 压缩过程显示文件
f 使用档名 c 创建新的档案文件
Gzip压缩和解压缩文件 .gz结尾
Zip/unzip 压缩解压缩.zip文件 - date 查看系统当前时间
- showdown -h now 立即关机
- showdown -r 关机后立即重启
- ctrl+z 挂起当前进程,恢复后台
- init:改变系统运行级别
0 关闭系统
6重启系统
文件查看命令
head
head -n 10 filename 查看文件前10行
head -c 20 filename 查看文件前 20 个字节
tail
tail -n 10 filename 查看文件尾10行
tail +20 filename 查看从20行至文件末尾
tail -3000 filename 查看倒数3000行
tail -f filename 实时监控该文件
vi
vi name启动编辑器打开文件
esc:命令模式
a/i 插入模式
:touch wq 保存退出
:q! 对文件做出修改后强制退出
:q 没对文件做出修改退出
:set number 显示行号
:n 跳转到第n 行
cat
cat -n filename 显示文件全部内容
cat -b filename 显示文件全部内容
more 分页显示文件内容
Less 同上
wc
行数 字数 字节数
wc -c 统计字节数 -l 统计行数 -w 统计字数
sed
a 新增 c 取代 d 删除 i 插入 p 打印 s 取代
sed ‘2a abc’ file
sed ‘2,3c oooooo’ filename 将第2~3行替换为oooooo
sed -n ‘3p’ datafile 只显示第三行
sed ‘/root/p’ datafile 只显示与root有关的文件
sed -n ‘100,200p’ datafile 只看文件的第100-200行
sed ‘2,5d’ datafile 删除第2~5行
sed ‘2,$d’ datafile 删除第2~最后一行
awk[重要]
awk -F: #以:为分隔符
awk -F [ ,] '{print $1,$2}' filename #以空格和,为分隔符
awk '$1>2' filename #过滤第一列>2的字段
awk '$2=="abc" {print $1,$2}'filename #过滤第二列==abc的字段
复杂用法:涉及到字段计算,暂时不会
awk -F “ ” ’BEGIN{sum=0}{sum+=$2}END{print sum}‘ chengji
日志文件[重点]
日志存在位置:/var/log
rsyslogd 跟踪系统信息,并在跟踪日志存储在特定日志文件中
硬链接和软链接
ln -s 被链接文件 链接文件 软链接
ln filename hardfile 硬链接
硬链接的特点是这样的:
它会在链接文件处创建一个和被链接文件一样大小的文件,类似于国外网站和国内镜像的关系,
硬链接占用的空间和被链接文件一样大(其实就是同一片空间)
修改链接文件和被链接文件中的其中一个,另外一个随之同样发生变化
硬链接的对象不能是目录,也就是说被链接文件不能为目录
硬链接的两个文件是独立的两个引用计数文件,他们共用同一份数据,所以他们的inode节点相同
硬链接的原理:在存储器中只存储了一份数据,而被链接文件和链接文件其实都是对这一份数据的引用,所以这份数据就会有最小为2的引用计数,所以才会删除两个文件中的任意一个,删除的都是引用计数,不会影响这一份数据,而另外的一个引用照样可以访问这份数据。如果另外一个引用也被删除了,那么引用计数就为0,在Linux中,一旦引用计数为0,则认为该数据被删除了,这时数据就会被彻底清空,从这一点看和cp命令还是有点区别的