文章目录
Linux学习笔记(CentOS)
Linux目录结构
Linux的目录结构是一个树型结构,Linux没有盘符这个概念,只有一个根目录 / ,所有文件都在它下面。
在Linux系统中,路径之间的层次关系,使用:/来表示
Linux命令入门
-
命令行:是Linux终端,是一种命令提示符页面
-
命令:即Linux程序。一个命令就是一个Linux程序
-
命令通用格式
command [-options] [parameter]
command:命令本身
-options:(可选、非必填)命令的一些选项,可以通过选项控制命令的行为细节
parameter:(可选、非必填)命令的参数,多数用于命令的执行目标等
ls命令
ls [-a -l -h] [Linux路径]
-a选项,表示all的意思,即列出全部文件(包含隐藏的文件/文件夹)
-l选项,表示以列表(竖向排列)的形式展示内容,并展示更多信息
ls -al(-l -a或者-la)表示以竖向排列的形式列出全部内容
ls -lh 表示以易于阅读的形式,列出文件大小
cd-pwd命令
- cd切换工作目录
cd [Linux路径]//写参数,表示切换到该目录下。不写参数,表示回到用户的HOME目录
- pwd查看当前工作目录
- …表示上一级,比如:cd …即可切换上一级目录。cd …/…退两级
mkdir命令创建文件夹
语法
mkdir [-p] Linux路径
- mkdir -p 选项
一次性创建多个层级的目录
Ctrl+l清屏操作
文件操作命令
- touch创建文件(区分文件和文件夹)
touch Linux路径
- cat命令 查看文件内容
cat Linux路径
- more命令
more Linux路径
使用more查看文件时,用空格键翻页,按下q退出阅读模式
- cp命令用于复制文件夹
cp [-r] 参数1 参数2 -r选项表示递归,用于复制文件夹
- mv移动文件或文件夹
mv 参数1 参数2//将参数1移到参数2
这里体现了mv指令的三个功能。1、将文件移到文件夹中。2、将文件夹移到文件夹中。3、将文件改名
- rm删除文件、文件夹命令
rm [-r -f] 参数1 参数2... 参数n
//-r用于删除文件夹 -f表示强制删除(不会弹出提示确认信息)
rm [-r -f] 通配符//将参数换成通配符
//test*表示匹配任何以test开头的内容
//*test表示匹配任何以test结尾的内容
//*test*表示匹配任何包含test的内容
登录到根用户
登录输入指令su - root,注意-左右两边都有空格,然后输入密码,进入到根用户当中。
特别注意的是:在root用户的时候千万不要用rm -rf和rm -rf/*的操作,这相当于在Windows上执行C盘格式化
查找命令
- which命令查找命令所在文件
which 要查找的命令//通过查询得知都在/usr/bin目录中
- find命令按文件名查找
find 起始路径 -name "被查找文件名"
除此之外,find命令还可以配上通配符,在双引号里面写上即可,同理可见rm的通配符使用
find 起始路径 -size +/-n[kMG]
//+表示大于该字节大小,-表示小于该字节大小
grep、wc命令和管道符
- grep命令,从文件中通过关键字过滤文件行
grep [-n] 关键字 文件路径//关键字建议用""包围起来
- wc命令做数量统计
wc [-l -w -m -c] 文件路径
//-c,统计bytes数量
//-m,统计字符数量
//-l,统计行数
//-w,统计单词数量
不加参数-n 输出的分别为行数、单词数量、字节数
- | 管道符命令,将左边命令的结果,作为右边命令的输入,即替代了文件路径的参数
可以嵌套使用
练习:1、统计文件中带有liuzhilong关键字的有几行
2、统计文件中带有liuzhilong关键字的结果有多少个单词
echo、tail、重定向符
- echo命令,在命令行中输出指定内容
echo类似于print语句,当echo配上反引号``的时候,就不再是普通的字符,而是当作命令去执行
- 重定向符:> 和 >>
>:表示从左边的输出向右边的文件中覆盖,那么原有内容全部删除。而>>:表示追加内容,并自动换行。注意:只要是结果都能放在左边
- tail命令,查看文件尾部内容
tail [-f -num] Linux路径
//-f表示持续跟踪
//-num表示查看尾部多少行,不填默认10行
vim编辑器
- 命令模式快捷键
dd//删除光标所在行内容
ndd//n是数字,删除光标下n行内容
yy//复制当前行
i//在当前光标进入输入模式
esc//返回到命令模式
/ //进入搜索模式
p//粘贴复制的内容
u//撤销
ctrl + r//反向撤销
- 底线命令模式
:wq//保存并退出
:q//仅退出
:q!//强制退出
:w//仅保存
小升级
- 普通用户配置sudo认证
1、切换到root用户,输入visudo
2、在文件最后加上sadliu(用户名) ALL = (ALL) NOPASSWD: ALL
3、:wq保存
用户和用户组
- 创建用户组
groupadd + 用户组名
- 删除用户组
groupdel + 用户组名
以上前提是在root用户下使用的命令
- getent
getent passwd//查看有哪些用户
getent group//查看有哪些组
- chmod命令
- chown命令
Linux实用操作
- 历史命令搜索
history//查看输入过的命令历史
!命令前缀//自动执行上一次匹配前缀的命令,如!l 则执行ls
- 光标快速移动快捷键
ctrl + 左键。向左跳一个单词
ctrl + 右键。向右跳一个单
- yum命令(CentOS)
- systemstl命令
- ln命令创建软链接
ln -s 参数1 参数2//类似于Windows的快捷方式
//-s选项,创建软连接
//参数1:被链接的文件或文件夹 参数2:链接去的目的地
- 日期和时区(date)
输入date即可显示时间
时间校准
先进入root用户后执行
rm -f /ect/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ntp程序自动校准系统时间
安装ntp:yum install ntp
打开ntp:systemctl start ntpd
设置开机自启动:systemctl enable ntpd
手动校准(须root权限):ntpdate -u ntp.aliyun.com
- ifconfig查看ip地址
127.0.0.1和0.0.0.0都用来指代本机,IP地址由x.x.x.x构成,x的范围在0-255
- 主机名
hostname//显示主机名
hostnamectl set-hostname xxx//将主机名改为xxx
- 域名解析
1、先查看本机的记录 2、没有再联网去DNS服务器查询
Windows系统自行配置域名和IP地址的映射步骤:
1、找到记事本,右键以管理员身份打开
2、在路径C:\Windows\System32\drivers\ect\hosts,选择所有文件打开hosts
3、在最后加上IP地址和你的主机名字如192.168.105.134 centos
- 虚拟机配置固定IP
为什么需要固定IP,因为虚拟机通过DHCP服务获取的动态IP地址,每次重启设备后都会获取一次,可能导致IP地址频繁变更
打开VMware->编辑->虚拟网络编辑器->选VMnet8->子网IP 192.168.88.0 子网掩码255.255.255.0->NAT设置网关IP192.168.88.2然后保存->打开终端进入root用户-> 输入 vim /etc/sysconfig/network-script/ifcfg-ens33然后进行如图操作
然后systemctl restart network。这时候就更新成固定的IP地址了,当然如果要链接finalshell需要改变成现在新的IP地址,如有本机记录的也需要更改
- ping命令,检查指定网络服务器是否可联通状态
ping [-c num] ip或主机名//选项c num表示检查num次
- wget命令
是非交互式文件下载器,可以在命令行内下载网络文件
wget [-b] url//-b,后台下载,将日志写入到wget-log文件
//url下载链接
- curl命令,发起网络请求
curl [-O] url//-O用于下载,同wget的作用
输入curl cip.cc
输出
IP : 223.100.197.16
地址 : 中国 辽宁 大连
运营商 : 移动
数据二 : 辽宁省 | 移动
数据三 : 中国辽宁省大连市 | 移动
URL : http://www.cip.cc/223.100.197.16
- 端口
端口的理解
查看端口调用
nmap 被查看的IP地址//nmap 127.0.0.1 即扫描本机端口
输出:
Starting Nmap 6.40 ( http://nmap.org ) at 2023-10-03 18:01 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000090s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
111/tcp open rpcbind
631/tcp open ipp
6000/tcp open X11
netstat -anp | grep 端口号或进程号
//查看指定端口或进程被哪些程序占用
//nmap和netstat没有系统文件需要用yum install命令下载
- 查看进程
ps [-e -f]//通常直接写ps -ef,搭配管道符和grep过滤信息
- 关闭进程
kill [-9] 进程ID//-9表示强制关闭
- top命令
- df命令,磁盘信息监控
df [-h]//-h选项显示单位
- sar命令,网络状态监控
sar -n DEV [num1 num2]
- env命令、$符
env//查看环境变量
$//显示环境变量的位置信息,如$PATH
echo $PATH 输出PATH的位置信息
自行设置环境变量
- 临时设置,export 变量名=变量名
- 永久生效
-
- 针对当前用户 ~/.bashrc文件中
- 针对所有用户 /etc/profile文件中
针对当前用户(永久)
vim ~/.bashrc//进入该文件,不能少了.
在最下方写上export MYNAME=sadliu
source ~/.bashrc//让文件生效
这样执行echo $MYNAME就会输出sadliu了
针对所有用户(永久)
先进入root用户->vim /etc/profile
在最下方写上export MYNAMES=sadliu666
suorce /etc/profile//让文件生效
这样执行echo $MYNAMES就会输出sadliu666了
自定义环境变量PATH
1、在当前HOME目录内创建myenv的文件夹,再在myenv文件夹中创建文件mkhahaha
2、向mkhahaha文件中写入内容(内容为哈哈哈),用vim
3、修改文件mkhahaha的权限,设置为可执行chmod 755 mkhahaha
4、vim /etc/profile在最后一行输入
export PATH=$PATH:/home/sadliu/myenv
退出后输入source /etc/profile
5、这样你执行mkhahaha就会输出哈哈哈了
- 解压与压缩,tar命令和zip命令