Linux 基础篇(二)
1、linux 关机和重启
关机:
shutdown -h 10:20 # 指定时间关机
shutdown -h now # 马上关机
shutdown -h +10 # 10分钟后关机
halt # 关闭系统
重启:
shutdown -r now # 马上重启
shutdown -r 10:20 # 指定时间重启
reboot # 重启
init 6 # 重启
shutdown -c # 取消关机
2、解压缩
Linux常见的压缩文件: tar ,bzip2,zip,rar
.tar 使用tar 命令操作
.bz2 使用bzip2命令操作
.gz 使用gzip命令操作
.zip 使用unzip命令解压
.rar 使用unrar命令解压
最常见的就是 .tar.gz文件,就是经过tar打包后,在使用gzip压缩
创建压缩文件:
tar zcvf filename.tar.gz dir/
解压文件:
tar zxvf filename.tar.gz
3、系统和网络
3.1
uname -a # 输出当前的内核信息
3.2 ps : 查看进程线程状态,和top有些重叠
ps -eflgrep java # 找到 java线程
3.3 top 查看cup load负载,CPU占用率。使用内存或cpu最高的一些进程
top -H p pid # 查看某个进程中的线程状态
pidof mysqld #查看mysqld 的pid
3.4 free 查看内存,比top更加友好,包括物理内存和虚拟内存swap
3.5
df -h # 查看磁盘使用量,参数 h,可以友好的展示,-k :以 KBytes 的容量显示各文件系统,-m :以 MBytes 的容量显示各文件系统
3.6 ifconfig 查看地址
ping www.baidu.com # 查看网络通不通
3.7
netstat -ant # 查看当前的tcp连接,用于查看本地起的端口或者ip (ss可替代)
3.8 yum:管理包工具
yum install wget -y # 安装wget命令
3.9 systemctl :管理后台服务,和兼容了service命令
比如重启MySQL,推荐下面一个
service mysql restart
systemctl restart mysqld
3.10 su: 用于切换用户
su username
su - username # 可以干净的切换到另一个账号,而不出意外,推荐使用
3.11 查看文件大小:
du -h filename 参数;-k :以 KBytes 列出容量显示,-m :以 MBytes列出容量显示
3.12 磁盘格式化
mkfs -t ext4 /dev/hdc6 # 将分区 /dev/hdc6(可指定你自己的分区) 格式化为 ext4 文件系统
4、文件所属用户和组
ls –l #显示一个文件的属性以及文件所属的用户和组,比如:
drwxr-xr-x. 2 root root 6 7月 13 20:04 公共
drwxr-xr-x 就是文件的属性了。
第0位为[ d ]则是目录,[ - ]则是文件,[ l ]则表示为链接文档(link file),[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置),[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)
从第一位开始,三个为一组,分别为:用户属性,组属性,其他人属性(user,group,others),权限分别为:读、写、执行(r,w,x),没有相应权限则为 :-
其中使用数字来代表各个权限,各权限的分数为:
r :4
w:2
x:1
没有则为 :0
drwxr-xr-x 就可以表示为:755
4.1 修改所属用户和组:
chgrp groupname filename # 参数 -r ,filename 下的所有子文件
chown [-r] username filename
chown [-r] username :groupname filename # 同时修改所属用户和组
4.2 修改权限
chmod 777 a.txt # 给a.txt文件属性设置为:所属用户、组、其他都为可读、写、执行
还可以使用 +、-、=, a 表示添加、除去、设定、所有
chmod u=rwx,g=rw,o=r a.txt # 给a.txt文件属性设置为:所属用户(可读、写、执行)、组(读、写)、其他(可读)
chmod a-x a.txt # 除去所有人的执行权限
chmod 000 -r/ # 毁灭性的命令
5、其他
5.1 export 设定环境变量
export PATH=$PATH:/home/username/java/jdk/bin
5.2 env 显示当前所有环境变量
5.3 whereis 想要知道所执行命令的具体路径
5.4 crontab :linux 本地的job工具
5.5 date 输出当前系统时间,参数 -s 指定输出格式
hwclock :查看硬件时间
5.6 xargs : 读取输入源,然后逐行处理
#删除所有class文件
find .|grep .class$ | xargs rm -rvf
5.7 ssh # ssh隧道,参数 -v,了解详细输出过程
5.8 scp :用于进行文件传输,也可以用来传输目录,还有更高级的sftp命令
scp a.txt 192.168.1.1:/tmp/a.txt
scp -r a_dir 192.168.1.1:/tmp
5.9 wget: 直接使用命令行下载文件,支持断点续传
wget -c http:links
5.10 mysql 连接:
mysql -h 192.168.1.1 -u root -p
6、文本处理
统计:sort ,uniq # sort 和uniq 配对使用。sort -t 指定分隔符,使用-k指定要排序的列。
过滤:grep,awk,sed,diff
6.1 对内容进行过滤:
使用grep, 带上 --color参数,可以在支持的终端打印色彩,参数 n 则输出具体的行数,用来快速定位
grep -rm --color filename
如果想要看到某个关键字前后的内容,使用ABC参数:
A: after, 内容前n行
B: before ,内容后n行
C :count 内容前后n行
grep -rm --color keyword -A10 -B2 filename
6.2 关于 vim,sed,awk 等进阶知识和高级用法,可在其他博客中探索