linux命令(附带安装)
适用于不同场景的命令
其他
以下是对目录的解释:
- /bin : bin是Binary的缩写,这个目录存放着最经常使用的命令。
- /boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
- /dev : dev是Device(设备)的缩写,存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。(如U盘)
- /etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。
- /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
- /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。
- /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
- /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。·/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
- /opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
- /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
- /root:该目录为系统管理员,也称作超级权限者的用户主目录。
- /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
- /srv:该目录存放一些服务启动之后需要提取的数据。
- /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 svsfs 。
- /tmp:这个目录是用来存放一些临时文件的。
- /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
- /usr/bin :系统用户使用的应用程序。最基本命令
最基本命令
ls / #查看当前目录所有文件 /是当前目录的意思
mkdir #创建目录
cd /home #进入home目录,/是绝对路径 后面是哪里就进入哪里
mv music entertainment #移动music到entertainment目录下
touch #创建文件
echo "需要输入的字符" >> 文件名 #往指定文件里面输入字符
开关机
sync # 将数据由内存同步到硬盘中。
shutdown #关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:
shutdown -h 10 # 这个命令告诉大家,计算机将在10分钟后关机
shutdown -h now # 立马关机
shutdown -h 20:25 #系统会在今天20:25关机
shutdown -h +10 # 十分钟后关机
shutdown -r now #系统立马重启
shutdown -r +10 # 系统十分钟后重启
reboot #就是重启,等同于 shutdown -r now
halt #关闭系统,等同于shutdown -h now 和 poweroff
目录相关命令
.. #上一级目录
./ #当前目录
cd #切换目录命令
cd..
ls #列出目录
-a #all 查看全部文件,包括隐藏
-l #参数 列出所有文件信息 属性权限等
cd 目录名(绝对路径都是以/开头,相对路径,对于当前目录该如何寻找 ..../)
cd ../user #../是相对路径 以相对路径进入user
cd /user/axu #绝对路径跳转
cd ~ #回到当前的用户命令
mkdir 目录名 #创建目录
mkdir -p #递归创建目录
rm和rmdr
rmdir 目录 #删除目录 但是如果目录下有文件就不能删除
-p #加了-p就可以删除了
cp #复制文件或者目录
cd 文件名 复制后的地址
rm #移除文件或者目录
-f #忽略不存在的文件,不会出现警告,强制删除!
-r #递归删除目录
-i #互动,删除询问是否删除
mv #移动文件或根目录 或者重命名
mv 文件 地址 #移动
mv 文件 文件名 #重命名文件
-f #强制
-u #只替换已经更新过的文件
目录相关
实例中,boot文件的第一个属性用"d"代表。"d"在Linux中代表该文件是一个目录文件。
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等
-
当为[d]则是目录
-
当为[-]则是文件;
-
若是[l]则表示为链接文档(link file);
-
若是[b]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
-
若是[c]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
接下来的字符中,以三个为一组,且均『rwx』的三个参数的组合。其中,[r]代表可读(read)、[w]代表可写(write)、[x]代表可执行(execute)。要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[-]而已。每个文件的属性由左边第一部分的10个字符来确定
修改文件属性
-
chgrp:更改文件属组
chgrp[-R]属组名 文件名
-R :递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
-
chown:更改文件属主,也可以同时更改文件属组
chown [-R] 属主名 文件名 chown [-R] 属主名:属组名 文件名
-
chmod:更改文件9个属性(必须要掌握)
当没有权限操作文件的时候可以改一下chmod [-R] xyz 文件或目录
Linux文件属性有两种设置方法,一种是数字,一种是符号。
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限
如:[-rwxrwxrwx],这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
r:4 w:2 x:1
文件内容查看
Linux系统中使用以下命令来查看文件的内容
- cat 由第一行开始显示文件内容
- tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
- nl显示的时候,顺道输出行号!
- more 一页一页的显示文件内容
- less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
- head 只看头几行
- tail 只看尾巴几行I
使用 man [命令]来查看各个命令的使用文档,如 :man cp。
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!(空格下翻页,pageDown,pageUp键代表翻动页面!退
出q命令,查找字符串/要査询的字符向下査询,向上査询使用?要查询的字符串,n 继续搜寻下一个,N是向上寻找
硬链接和软链接
Linux的链接分为两种:硬链接、软链接
硬链接:A-B,假设B是A的硬链接,那么他们两个指向了同一个文件,允许一个文件拥有多个路径,用户可以通过这种机制建立硬链接到一些重要文件上,防止误删。类似复制粘贴
软链接:类似Window下的快捷方式,删除的源文件,快捷方式也访问不了!
ln 文件1 文件2 #硬链接文件1就是已经存在的文件 文件2就是复制后的文件名
ln -s 文件1 文件2 #软链接文件1就是已经存在的文件 文件2就是复制后的文件名
Vim 编辑器
什么是Vim编辑器
vim通过一些插件可以实现和IDE一样的功能
Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。Linux中,必须要会使用Vim(查看内容,编辑内容,保存内容)
简单的来说,vi是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。
vim 则可以说是程序开发者的一项很好用的工具。
三种使用模式
基本上vi/vim共分为三种模式,分别是命令模式(Command mode),输入模式(insert mode)和底线命令模式(Last line mode)。
命令模式:
用户刚刚启动 vi/vim,便进入了命令模式,
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下ì,并不会输入一个字符,ì被当作了一个命令。以下是常用的几个命令:
- i切换到输入模式,以输入字符。
- x删除当前光标所在处的字符。
- :切换到底线命令模式,以在最底一行输入命令。
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
输入模式:
在命令模式下按下i就进入了输入模式
在输入模式中,可以使用以下按键:
-
字符按键以及Shift组合,输入字符
-
ENTER,回车键,换行
-
BACK SPACE,退格键,删除光标前一个字符
-
方向键,在文本中移动光标
-
HOME/END,移动光标到行首/行尾。
-
Page Up/Page Down,上/下翻页
-
Insert,切换光标为输入/替换模式光标将变成竖线/下划线
-
ESC,退出输入模式,切换到命令模式
底线命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。光标就移动到了最底下,就可以在这里输入一些底线命令了!
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有
- q退出程序
- w 保存文件
按ESC键可随时退出 底线命令模式。
用户账号相关
用户账号的管理
用户账号的管理工作主要涉及到用户账号的添加、修改和删除添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。属主,属组
创建用户
useradd 命令 添加用户
useradd -选项 用户名
-m:自动创建这个用户的主目录 如果在home创建了一个axu的用户,那么home就有axu这个文件了/home/axu
-G:给用户分配组
Linux中一切皆文件,这里的添加用户说白了就是往某一个文件中写入用户的信息了!/etc/passwd 这个文件下就有所有的用户信息
passwd 信息如下
用户名:口令(登录密码,我们不可见):用户标识号:组标识号:注释性描述:主目录:登录she11
删除用户
userdel
userdel -r axu 删除用户的时候将他的目录页一并删掉!
修改用户
usermod
相关命令自己查
切换用户
相关命令自己查
用户组相关
创建用户组
groupadd 用户组名 #创建的时候会有一个自增的ID 同样的在/etc/passwd下面有
-g 110 #创建一个ID是110的用户
删除用户组
groupdel
修改用户组
groupmod -g 修改后的ID -n 修改后的名字 原用户组的名字 #修改用户组的权限信息和名字
磁盘管理
df #显示信息
-h #显示信息变成了M
du #显示空间具体使用情况
du -sm /* #检查根目录下每个目录所占用的容量
mount #挂载
mount /dev/axu /mnt/axu # 将外部设备axu挂载到 mnt 目录下,来实现访问 mnt就是一般挂载文件的位置
umount -f [怪哉位置] #强制卸载
进程管理
-
每一个进程,都会有一个父进程
-
进程可以有两种存在方式:前台 后台运行
-
一般的话服务都是后台运行的,基本的程序都是前台运行的
命令
ps #查看当前系统中正在执行的各种进程的信息
pS -XX :
-a #显示当前终端运行的所有的进程信息
-u #以用户的信息显示进程
-x #显示后台运行进程的参数
| #Linux这个叫做管道符 A|B 过滤和B相关的进程
grep #查找文件中符合条件的字符串
ps -aux|grep mysql #查看所有和mysql相关进程
ps -aux|grep redis #查看所有和resis相关进程
ps -ef #查看到父进程的信息
ps -ef|grep redis #看resis和他的父进程的相关进程
#专门查看父进程一般用目录树
pstree -pu
-p #显示父id
-u #显示用户组
# 结束进程:杀掉进程,等价于window结束任务 (比如结束java进程)
kill -9 进程的id
防火墙设置
#查看firewa11服务状态
systemctl status firewalld
# 开启、重启、关闭、firewalld.service服务
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
# 查看防火墙规则
firewall-cmd --list-all #查看全部规则
firewall-cmd --list-ports #只看端口信息
#开启端口
开端口命令:firewall-cmd --zone=public --add-port=8080/tcp --permanent
重启防火墙:systemctl restart firewa1ld.service
#命令含义
--zone #作用域
--add-port=80/tcp #添加端口 格式为 端口/通信协议
--permanent #永久生效,没有此参数重启后失效
环境安装
安装软件一般有三种方式:rpm,解压缩,yum在线安装
rgm(以JDK为例)
-
下载JDK rpm。去oralce 官网下载即可
-
安装java环境
检测环境相关命令和安装相关命令
java -version #检测当前系统是否存在java环境 如果有的话就需要卸载 # 卸载相关命令 rpm -qa|grep jdk # 检测JDK版本信息 rpm -e --nodeps 通过上面命令查出来的jdk版本信息 # 强制删除 # 安装命令 rpm -ivh rpm包 #安装 # 配置环境变量 具体文件地址 /etc/profile (因为是具体文件所以肯定是通过vim打开) JAVA_HOME=/usr/java/jdk1.8.0_202-amd64 CLASSPATH=%JAVA_HOME%/lib;%HAVA_HOME%/jre/lib PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin export PATH CLASSPATH JAVA_HOME (只是比winds多一个export)
域名解析后,如果端口是80-http 或者 443-https 可以直接访问,,如果是 9000 8080,就需要通过Apcahe或者Nginx做一下反向
代理即可,配置文件即可
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)