Linux目录作用
/home 每个账号在该目录下都有一个文件夹,进行数据的管理
/usr 有点像windows的program files和winNT结合的目录,主要包括系统的主要程序、本机端额外安装的软件、图形接口所需要的文档、额外的函数库、共享目录与文件等
/bin /usr/bin /usr/local/bin 存放执行挡 如可执行的指令等
/boot 存放linux开机会用到的文件
/dev 存放linux的任何装置和接口设备文档
/etc 存放系统设定文档 如账号密码文件、各种服务的起始档等
/lib /usr/lib /usr/local/lib 系统使用的函数库放置的目录
/mnt /media 是软盘和光盘预设挂载点的地方
/opt 主机额外安装软件所摆放的目录
/proc 该目录是一个虚拟档案系统,他放置的数据都是在内存中,所 以本身不占用任何的硬盘空间
/root 系统管理员的家目录
/sbin /usr/sbin /usr/local/sbin 放置一些只有系统管理员才能动用 的执行指令
/srv 一些服务启动之后,这些服务所需要取用的数据目录
/tmp 让一般使用者或者正在执行的程序暂时放置档案的地方
/var 主要针对系统执行过程中,常态性变动档案放置的目录
一、目录操作
根目录下 etc 存放系统的配置文件,bin文件存放可执行文件
ls
ls 浏览当前路径下文件
ls -a 浏览当先路径下隐藏的文件(目录)
ls -l 显示当前路径下目录文件的详细信息
ls -t 以时间排序浏览当前的目录文件
ls -r 以倒序排列浏览当前的目录文件
ls [相对路径] 直接查看当前目录下相对路径下的目录文件
ls -tlr 可以组合使用
mkdir
mkdir test 创建名为test的目录
mkdir -p test/a 递归创建目录,test目录下包含a目录
###rm & rmdir
rmdir -p test/a 递归删除多个目录
rm -rf 递归删除文件
cd
cd test 进入到test目录下
cd - 返回上一次所在的路径
cd ~ 进入家目录
mv
mv test workspace 移动test到workspace目录下
mv workspacr/test ./tmp 从workspace移出test目录,到当前目录tmp下
mv -i work tmp 复制work到tmp目录下
mv test tset1 目录test改名为test1(注意当前路径下不存在test1的文件,否则是移动文件)
cp
cp -r /usr/men /usr/zh 将目录/usr/men下的所有文件及其子目录复制到目录/usr/zh中
二、文件操作
touch
touch test 创建名为test的文件
touch -d “2018-06-10 00:00:00” aa.txt 以固定时间创建aa.txt(如果存在则刷新)
touch -r bb.txt aa.txt 把bb.txt的时间刷给aa.txt
cat
cat aa.txt 查看aa.txt的内容,在终端打印出来
cat -n aa.txt 加行号在终端打印aa.txt的内容
tac
tac aa.txt 倒序打印内容
more
more bigdata 分页显示bigdata文件内容 B向上翻页,空格向下翻页
less(相比more功能更多)
less bigdata 分页显示bigdata文件内容B上一页,f下一页,q退出。显示内容后输入/.XX进行检 索,?XX 向上查找,n下一个。
man
man XX 查看命令手册
head
head bigdata 默认查看bigdata文件前10行
head -n bigdata 查看bigdata文件前n行
tail
tail bigdata 查看后10行
tail -f bigdata 刷新查看,类如在另一个窗口输入echo “asd” >> bigdata 则实时打印。
三、 时间命令
date
date 系统时间
date +%s 当前时间与1970年1月1日的秒数
date +%S 当前时间的秒数
sudo date -s “2004-02-28 00:00:00” 修改系统时间
cal
cal 查看当前月份
cal -3 显示上个月,本月和下个月
cal -y 显示全年月份
四、压缩解压文件
zip
zip test.zip aa.txt bb.txt 压缩aa.txt和bb.txt,压缩后文件名为test.zip
unzip test.zip 解压
gzip
gzip aa.txt 压缩aa.txt文件,自动生成aa.txt.gz
gunzip aa.txt.gz 解压文件
bzip2
bzip2 aa.txt 压缩aa.txt文件,生成aa.txt.bz2
bunzip2 aa.txt.bz2 解压文件
tar
tar -cvzf 输出目录/test.tar.gz XX 其中XX为要压缩的文件可以是多个,压缩后为test.tar.gz文件
tar -xvzf test.tar.gz 解压文件
tar -tvjf test.tar.gz 查看信息
五、文件匹配与查找
grep
grep “a” test.txt 查询字符a在test.txt,平且在终端打印出来,字符a标红
grep -i “a” test.txt 忽略大小写
grep -io “a” test.txt 只打印匹配的
grep -iv “a” test.txt 反向匹配,只打印,没有匹配到的
grep -n “a” test.txt 显示行号
grep “o{2,}” test.txt 打印显示两个o以上的行
find
find ./ -name “hello.txt” 当前目录下,用查找名字为hello.txt的文件
find ./ -mmin -40 查找系统中最后40分钟被改变文件数据的文件
find ./ -amin -40找系统中最后40分钟访问的文件
find ./ -cmin -40查找系统中最后40分钟被改变状态的文件
find ./ -size -40M 查找系统40M以内的文件
find ./ -type d 查找目录文件
find ./ -type f 查找普通文件
六、文件权限
系统文件一般分为三种:文件所有者(u)、文件所属组(g)、其他用户(o)、所有用户(a)。
rwx r-x r-w
111 101 101
7 5 5
umask
查看或修改文件掩码。
新建文件夹默认权限:0666-权限掩码
新建目录默认权限:0777-权限掩码
umask 000 设置文件掩码为0
chmod
chomd u+w dd.txt 修改赋予dd.txt文件所有者写权限
chomd a+x dd.txt 所有用户添加可执行
netstat
eetstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
列出所有端口 #netstat -a
列出所有 tcp 端口 #netstat -at
列出所有 udp 端口 #netstat -au
只显示监听端口 #netstat -l
只列出所有监听 tcp 端口 #netstat -lt
只列出所有监听 udp 端口 #netstat -lu
列出所有监听 UNIX 端口 #netstat -lx
显示所有端口的统计信息 #netstat -s
显示 TCP 或 UDP 端口的统计信息 #netstat -st 或 -su
输出中显示 PID 和进程名称 #netstat -p
netstat 输出中不显示主机,端口和用户名 (host, port or user)
lsof
通过某个进程号显示该进行打开的文件 lsof -p 1
列出多个进程号对应的文件信息 lsof -p 123,456,789
列出除了某个进程号,其他进程号所打开的文件信息 lsof -p ^1
列出所有的网络连接 lsof -i
列出所有tcp 网络连接信息 lsof -i tcp
列出所有udp网络连接信息 lsof -i udp
列出谁在使用某个端口 lsof -i :3306
vmstat
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。