从零开始学Linux(一)
1. Linux系统安装:
1.1 VMware下载:
官网下载vmware workstation pro15。
1.2 centos下载:
http://mirrors.nju.edu.cn/centos/8.1.1911/isos/x86_64/CentOS-8.1.1911-x86_64-dvd1.iso。
1.3 虚拟机安装:
内存1G以上,硬盘空间默认。
如果出现section %packages does not end with %end的问题,请看:
https://tieba.baidu.com/p/6281488638
2. Linux目录结构:
2.1 bin目录:
该目录中存储的是二进制文件,都是可以被运行的。
2.2 dev目录:
存放外接设备,如U盘,光盘,移动硬盘。不能直接被使用,需要挂载。
2.3 etc目录:
存放配置文件。
2.4 home目录:
表示除了root用户以外的其他用户的家目录。
2.5 proc目录:
存储的是Linux运行时候的进程。
2.6 root目录:
root用户自己的家目录。
2.7 sbin目录:
存放可以被执行的二进制文件,只有拥有super权限的用户才能执行。
2.8 tmp目录:
存放系统运行时产生的临时文件。
2.9 usr目录:
存放用户自己安装的软件。
2.10 var目录:
存放程序/系统的日志文件。
3. 基础指令:
3.1 ls指令:
ls #列出当前目录下所有文件和文件夹的名称
ls [路径] #列出该路径下所有文件和文件夹的名称
ls -l #详细列表
ls -a #显示所有文件文件夹,包括隐藏的文件文件夹
ls -lh #显示文件大小的详细列表
ls的绿色文件(夹)名表示拥有所有权限。
3.2 路径:
3.2.1 相对路径:
相对路径有一个参照物,一般是当前工作路径。
./ 表示当前目录下;
…/ 表示上一级目录下。
3.2.2 绝对路径:
不需要参照物,直接从根目录开始寻找路径。
/表示根目录下。
3.3 pwd指令:
打印当前路径。
pwd
3.4 cd指令:
切换工作路径。
cd [路径]
在Linux中有一个特殊符号~,表示当前用户的家目录。
3.5 mkdir指令:
创建目录,路径可以是文件夹名称。
mkdir [路径]
mkdir -p a/b/c/d/e/f/g #一次性创建多层不存在的目录
mkdir [路径1] [路径2] [路径3]
3.6 touch指令:
创建文件
touch [路径]
3.7 cp指令:
复制文件或文件夹到指定位置。
cp [被复制的文件路径] [复制到的地方]
cp -r [被复制的文件夹路径] [复制到的地方] #-r表示递归
3.8 mv指令:
移动文件或文件夹到指定位置。
mv [被移动的文件(夹)路径] [移动到的地方(不含名字)]
Linux的重命名也用mv。
3.9 rm命令:
删除文件或文件夹。
rm -f [文件] #删除文件,不需确认
rm -r [文件夹] #删除目录
rm -rf [文件夹] #删除目录,不需确认
rm -rf [文件夹] [文件夹] [文件夹] [文件夹] [文件夹]
3.10 vim命令:
3.10.1 打开文件:
文件可以不存在。
vim [文件名]
3.10.2 关闭文件:
按下shift+:,再按q按回车。
3.11 输出重定向:
> #覆盖输出
>> #追加输出
ls -l > test.txt
ls -l >> test.txt
3.12 cat指令:
作用一:直接打开文件
cat [文件名]
作用二:文件合并
cat [文件1] [文件2] [文件3] >> [文件4]
4. 进阶指令:
4.1 df指令:
查看磁盘的空间:
df
df -h #带单位
4.2 free指令:
查看内存使用情况:
free
free -m #以Mb为单位
free -g #以Gb为单位
4.3 head指令:
查看文件开头,默认前10行。
head [文件名] #查看前10行
head -n [数字] [文件名] #查看前几行
4.4 tail指令:(?)
作用一:查看文件结尾,默认后10行。
tail [文件名] #查看后10行
tail -n [数字] [文件名] #查看后几行
作用二:查看文件动态变化:
tail -f [文件名]
4.5 less指令:
查看文件,以较少的内容进行输出,按下辅助功能键查看更多。
less [文件名] #查看后10行
4.6 wc指令:
统计文件内容信息,包括行数(l),单词数(w),字节数©。
wc -lwc [文件名]
4.7 date指令(重点):
获取当前时间:
date #输出2020年 05月 22日 星期五 19:52:55 CST
date +%F #输出2020-05-22
date "+%Y-%m-%d" #同上
date "+%F %T" #输出2020-05-22 19:58:04
date "+%Y-%m-%d %H:%M:%S" #同上
获取之前或之后的某个时间:
date -d "-1 day" "+%Y-%m-%d %H:%M:%S"
date -d "+1 day" "+%Y-%m-%d %H:%M:%S"
date -d "-1 year" "+%Y-%m-%d %H:%M:%S"
4.8 cal指令:
操作日历:
cal #显示当月日历
cal -1 #同上
cal -3 #输出上月本月下月的日历
cal -y 2020 #输出2020年日历
4.9 clear指令:
清除终端中信息:
clear
或者快捷键Ctrl+L。
4.10 管道(重点):
管道符:|
可以用于过滤,特殊用法,扩展处理。
4.10.1 过滤:
ls -l | grep y #输出目录下含有y字母的文档
4.10.2 特殊用法:
通过管道实现less的等价效果。
cat [路径] | less
4.10.3 扩展处理:
统计某个目录下文档的总个数:
ls | wc -l
5. 高级指令:
5.1 hostname:(-f ?)
操作服务器的主机名。
hostname
hostname -f
5.2 id:
查看用户基本信息,包含用户id,用户组id,附加组id。。。。。。
id
id [用户名]
验证用户信息:/etc/passwd
验证用户组信息:/etc/group
5.3 whoami:
显示当前登录的用户名。
5.4 ps -ef(重点):
查看服务器进程信息。
-e表示列出全部进程。
-f表示列出全部列。
ps
ps -ef
如果一个进程的父进程找不到,此进程称为僵尸进程。
ps -ef | grep [关键字]
5.5 top(重点):
查看服务器进程占用的资源。
top
动态显示,按q退出。
PR:优先级
VIRT:虚拟内存
RES:常驻内存
SHR:共享内存
实际使用内存 = 常驻内存 - 共享内存
S:进程状态,S表示睡眠,R表示运行
运行时按下M,表示按照占用内存排序;
运行时按下P,表示按照占用CPU排序;
运行时按下1,显示所有CPU。
5.6 du -sh:
查看目录真实大小。
-s:只显示汇总的大小;
-h:以较高可读性形式显示。
du -sh [路径]
5.7 find:
查找文件。
-name:按名称搜索,支持模糊搜索;
-type:按文档类型搜索。
find [路径范围] [选项] [选项的值]
find / -name .config
find /etc -name *.conf
find /etc -name *.conf | wc -l
find /etc/sane.d -type f
5.8 service:
控制一些软件服务的启动/停止/重启。
service [服务名] start
service [服务名] stop
service [服务名] restart
5.9 kill:
杀死进程。
kill [进程PID]
killall [进展名称]
5.10 ifconfig:
操作网卡相关信息。
ifconfig
5.11 reboot:
重新启动计算机。
reboot #重启
reboot -w #模拟重启,只写重启日志,不真的重启
5.12 shutdown:
慎用。
shutdown
#其他关机指令:
init 0
halt
poweroff
5.13 uptime:
输出计算机的持续在线时间。
uptime
5.14 uname:
输出计算机操作系统相关信息。
uname #操作系统
uname -a #获取操作系统全部信息
5.15 netstat:
查看网络连接状态。
-t:列出TCP协议连接;
-n:更方便看;
-l:过滤出state为listen的连接;
-p:显示发起连接的进程pid和进程名称。
netstat -tnlp
5.16 man:
帮助手册。
man [需要查询的指令]