Linux - 命令
Linux - 命令整理
一、环境搭建
-
安装 VMware Workstation Pro ,输入注册码
-
在虚拟机上安装CentOS7!
-
或官网下载:http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/
-
CentOS-7-x86_64-DVD-2009.iso
-
-
CentOS7 创建虚拟机步骤(参考):
-
CentOS7 账户
-
root: xxxxxxxxx
-
-
XShell
-
使用Xshell链接远程服务器
-
新建连接,配置远程主机ip
-
输入账户,密码
-
-
-
Xftp
-
新建连接,配置远程主机ip
-
用于上传本地文件至 服务器中
-
选中要上传的文件, 直接在本地窗口--> 拖过去即可。
-
二、走进Linux
1、开机登陆
-
命令行登陆
-
ssh登陆(远程)
-
图形界面登陆
最高权限账户为root,可以操作一切!
2、关机指令
-
sync #将数据由内存同步到硬盘中。
-
shutdown #直接关机。
-
shutdown -h now #立马关机
-
shutdown -h 时间 #10(十分钟)/ +时间(+10十分钟后)
-
shutdown -r now # 重启
-
shutdown -r +时间(+10 十分钟后重启)
-
reboot #就是重启 == shutdown -r now
-
halt # 关闭系统 等同于 poweroff 和 shutdown -h now
3、系统目录结构
-
一切皆文件
-
根目录 /
ls / : 查看根目录下所有的文件
-
/bin:里边包含了 经常使用的命令。
-
/boot:系统启动文件和内核文件。
-
/dev:系统设备文件目录,存放Linux的外部设备。
-
/etc:包含了大部分重要的系统配置文件
-
/home:一般用户的主目录,一般一个用户对应一个目录,保存用户的数据。
-
/opt:给主机额外安装软件所摆放的目录,一般存放第三方软件,默认是空的。
-
/root:该目录为系统管理员,root用户的主目录。
-
/tmp:这是一个用于存放临时文件的。用完即丢的文件,系统使用的临时空间,重启后会清空。比如安装包。
-
/usr:这个非常重要,用户的很多应用程序和文件都放在这个目录下,相当于windows下的 Program Files。
-
/lib、/lib64:库文件,包含了所有系统和用户需要的程序文件,64表示64位,但实际上除特殊的库,大部分还是到lib目录下。
-
/lost+found:一般情况下是空的,当系统非法关机时,这里就存放了一些文件。(存放突然关机的一些文件)
-
/media:磁盘设备自动挂载的位置。例如 U盘、光驱等等。
-
/mnt:标准挂载点,可以挂载外设磁盘。(一般我们会把一些本地文件挂载在这个目录下)
-
/proc:这是一个虚拟目录,它是系统内存的映射,可以通过这个目录来获取系统信息。
-
/sbin:系统和系统管理员用到的程序工具。
-
/sys:与proc类似的虚拟文件系统,都是内核提供给用户的接口,可读可写。
-
/var:包含一些用户可变的或临时的文件,比如log日志文件、邮件队列、网络下载的临时文件等等。
-
/run:是一个临时文件系统,存储系统启动以来的信息。
4、Linux命令
a、常用基本命令
-
./ : 当前目录
-
cd .. : 返回上一级
ls 命令(列出目录) 可能是最常被使用的。
参数:
-
-a :all, 查看全部的文件,包括隐藏文件
-
-l :列出所有的文件,包括文件的属性和权限,没有隐藏文件
cd 命令, 切换目录
cd 目录名(绝对路径都是以 / 开头, 相对路径,../../)
-
cd /home/test 绝对路径, cd ../usr 相对路径
mkdir 创建一个目录
-
mkdir 目录名
-
mkdir -p 目录名/目录名 (-p 参数,创建多级目录 )
rmdir 删除目录
-
rmdir 目录名
-
rmdir -p 目录名/目录名 (-p 参数,强制删除多级目录 )
cp 复制文件或目录
-
cp 原来的地方 新的地方
-
cp a.text text (将a.text文件拷贝到 text目录下) 如果文件重复就会 覆盖y 或 放弃n。
rm 移除文件或 目录!
参数:
-
-f 强制删除。忽略不存在的文件,不会出现警告
-
-r 递归删除目录!
-
rm -rf / # 系统中所有的文件就被删除了
mv 移动文件或者目录 。 重命名文件
参数:
-
-f 强制移动
-
-u 只替换已经更新过的文件
-
mv a.text text 移动文件
-
mv text texet2 重命名
b、基本属性
在Linux中,第一个字符代表这个文件是 目录、文件或者链接文件等等
-
【d】:目录
-
【-】:文件
-
【l】:链接文档(link file)
-
【b】:表示为装置文件里面可供储存的接口设备(可随机存取装置)
-
【c】:表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)
在接下来的字符中,以 三个 为一组, 且 均为 【rwx】的三个参数的组合。
-
【r】:可读(read)
-
【w】:可写(write)
-
【x】:可执行(execute)
注意:这三个权限位置不会改变,如果没有权限,就会出现减号【-】
每个文件的属性由左边第一部分的10个字符来确定,如下图:

从左至右用 0-9 这些数字来表示。
0 : 确定文件类型
1-3:确定属主(该文件的拥有者)拥有该文件的权限。
4-6:确定属组(所有者的同组用户)拥有该文件的权限
7-9:确定其他用户拥有该问价你的权限
-
1、4、7:表示r,拥有 读 权限,如果用【-】表示,则没有 读 权限。
-
2、5、8:表示w,拥有 写 权限,如果用【-】表示,则没有 写 权限。
-
3、6、7:表示X,拥有 执行 权限,如果用【-】表示,则没有 执行 权限。
对于一个文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。
在Liunx中,用户是按组分类的,一个用户属于一个或多个组。
文件所有者 以外的用户 又可以分为 文件所有者的同组用户 和 其他用户。
因此。
Liunx系统按 文件所有者,文件所有者的同组用户、其他用户 来规定了不同文件的访问权限。
修改文件属性
1、chgrp: 更改文件 属组
chgrp [-R] 属组名 文件名
-R: 递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R,那么该目录下的所有文件的 属组 都会更改。
2、chown:更改文件 属主, 也可以同时更改 属组
chown [-R] 属组名 文件名
chown [-R] 属主名:属组名 文件名
3、chmod: 更改文件9个属性
chmod [-R] xyz 文件或目录
Liunx文件属性由两种设置方法,一种是数字(常用),一种是符号。
r:4 w:2 x:1
chmod 数字(777) filename
c、文件内容查看
-
cat 由第一行开始显示文件内容
-
nl 显示时候顺道输出行号
-
more 一页一页的显示文件内容
-
空格 下翻页
-
enter代表向下看一行、
-
:f 显示行号
-
-
less 与less相似,但它可以往前翻页
-
空格 下翻页
-
上下(pageUp、pageDown)键 表示翻动页面
-
退出 q命令
-
查找字符串
-
/ 向下查询
-
==? 向上查询==
-
n 继续搜寻下一个 ,N 向上寻找
-
-
-
tac 从最后一行开始显示
-
head 只看头几行
-
-n 参数来控制显示几行
-
head -n 20 a.text
-
-
tail 只看尾巴几行
-
-n 参数 要查看几行
-
语法: 命令 文件名 如: cat a.text、 nl ifcfg-eth0
可以使用man [命令] 来查看各个命令的使用文档, 如 : man cp。
网络配置目录:cd /etc/sysconfig/network-scripts
默认网络配置文件:ifcfg-eth0
查看网络配置:ifconfig
d、拓展:Linux链接的概念(了解)
Linux的两种链接: 硬链接、软链接
硬链接: A----B,假设B是A的硬链接,那么他们两个同时指向了一个文件,允许一个文件拥有多个路径,用户可以通过这种机制建立硬链接到一些重要文件上,防止误删!
软链接:类似Window下的快捷方式,删除的源文件,快捷方式也访问不了!
-
创建链接 ln 命令
-
touch f1 #创建一个文件
ln f1 f2 #创建一个硬链接 f2
ln -s f1 f3 #创建一个软链接(符号连接) f3
echo "Hello Linux" >> f1 #给f1文件中写入一些字符串
rm -rf f1 -
删除f1之后, 查看f2和f3的区别
-
f2 硬链接 还在
-
f3 软链接(符号连接) 失效
-
-
-
-
touch 创建文件
-
echo 输入字符串,也可以输入到文件中
e、Vim编辑器
必须要会使用Vim。(查看、编辑、保存内容)
Vim三种模式
1、命令模式
-
i 切换到输入模式
-
x 删除当前光标所在处的字符
-
: 切换到底线命令模式。 ESC退出编辑模式
2、输入模式
-
ESC 退出输入模式
-
n数字 <space> n为数字,快捷切换光标
-
n数字 <Enter> 纵向移动行,n为数字,光标下移n行
-
搜索 / 、 /+搜索的内容
-
u 重复前一个动作
3、底线命令模式
-
:q 退出程序 or q! 强制退出
-
:w 保存文件
-
:wq 保存并退出
-
ZZ 不存储,直接离开
-
:set nu 设置行号
Vim/Vi 工作模式

f、账号管理
-
用户账号的 添加、删除与修改
-
用户口令的管理
-
用户组的管理
用户账号的管理
添加用户账号 就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登陆Shell等资源。
属主、属组
useradd 命令,添加用户
useradd -选项 用户名
-
-m 自动创建这个用户的主目录 /home/text
useradd -m zhaowq #创建一个用户 -
-G : 给用户分配组
userdel 命令,删除用户
userdel -r 用户名
-
-r 删除用户时候将它的目录页一并删除!
userdel -r zhaowq
usermod 命令 ,修改用户
usermod 对应修改的内容 修改哪个用户
usermod -d /home/123 zhaowq
修改完毕后查看配置文件即可! cat /etc/passwd
su 命令,切换用户
-
su username[切换的用户名]
-
普通用户 切换 root用户 : sudo su
-
退回到原来用户: exit、logout、ctrl+d
-
$: 普通用户 #:超级用户,也就是root
-
hostname 查看主机名
-
hostname dbname 修改主机名,修改完后重连接
-
passwd 用户密码设置
一般通过root创建用户的时候,要配置密码。
Linux上输入密码是不会显示的。
passwd username #设置密码
锁定账户!
passwd -l zhaowq #将该用户锁定,锁定之后就不能登录了
passwd -d zhaowq #将密码清空,没有密码也不能登录
g、用户组管理
属主、属组
每个用户都由一个用户组,系统可以对一个用户组中所有用户进行集中管理。(开发、测试、运维、root)
如Linux下的用户属于与它同名的用户组,这个用户组在创建用户的同时创建。
本质: 组的增加、删和改实际上就是对 /etc/group文件的更新。
groupadd,创建用户组
groupadd 组名
创建完用户组后可以得到一个组的id,这个id是可以指定的!
-
指定id,-g 520 ,若不指定,就是自增 1 。
-
groupadd -g 520 changwen
-
groupdel,删除用户组
groupdel 组名
修改用户组的权限和名字,groupmod -g -n
groupmod -g 999 -n newzhaowq zhaowq
#修改zhaowq用户组id为999,重命名为newzhaowq
切换用户组
$ newgrp root #切换用户组
拓展:文件的查看
/etc/passwd
用户名:口令(登陆密码,我们不可见):用户标识号:组标识号:注释性描述:主目录:登陆Shell
登陆口令:把真正的加密后的用户口令字存放到/etc/shadow文件中,保证我们密码的安全性。
h、磁盘管理
df:列出文件系统整体的磁盘使用量
-
-h 查看磁盘使用率(使用人类可读的格式)
du:检查磁盘空间使用量
-
-a 查看全部详情
-
du -sm /* 检查根目录下每个文件所占的容量
Linux挂载我们的一些本地磁盘或文件
挂载:mount
/mnt 一般挂载磁盘会放在它里面。
mount /dev/software /mnt/software
#将外部设备 /dev/software 挂载到/mnt目录下来实现访问。
卸载:umount -f [挂载位置] 强制卸载
i、进程管理
基本概念
1、Linux中,每一个程序都是有自己的一个进程,每一个进程都有一个id号
2、每一个进程,都有一个父进程
3、进程两种存在方式,前台! 后台运行!
4、一般的服务都是后台运行的,基本的程序都是前台运行。
命令
ps: 查看系统中正在执行的各种进程的信息。
-
-a:显示当前终端运行的所有进行信息(当前的进程一个)
-
-u:以用户的信息显示进程
-
-x:显示后台运行进程的参数
ps -aux|grep #查看所有的进程
ps -aux|grep mysql #查看mysql相关的进程信息
# | 在Linux这个叫做 管道符 A|B
# grep 查找文件中符合条件的字符串
ps -xxx|grep 进程名,过滤进程信息
ps -ef: 查看父进程的信息
pstree -pu 进程树
ps -ef|grep mysql # 一般父进程通过目录树结构来查看
#使用 pstree -pu
-p 显示父id
-u 显示用户组
结束进程(杀掉进程): kill
kill -9 进程id #表示强制结束该进程
5、环境安装
JDK安装
1、下载JDK rpm
2、安装java环境
# 检测java环境, java -version
# 如果有的话卸载,
# rpm -qa|grep jdk # 检测JDK版本信息
# rpm -e --nodeps jdk 删除
# 卸载完即可安装jdk
# rpm -ivk rpm包
#配置环境变量
cd /etc/profile
配置环境变量: vim /etc/profile
JAVA_HOME=/usr/java/jdk_xxxx
CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib
export CLASSPATH JAVA_HOME
:wq
让这个配置文件生效: source /etc/profile
发布一个项目!
# 开启防火墙端口
firewall-cmd --zone=public --add-port=端口号/tcp --permanent
-zone #作用域
-add-port=80/tcp #添加端口,格式为: 端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
# 重启防火墙
systemtl restart firewalld.service
# 查看所有开启的端口信息,如果是阿里云,需要配置安全组规则!
firewall-cmd --list-ports
将项目跑起来
java -jar xxxx.jar
Tomcat 安装
1、下载tamcat
2、解压这个文件
tar -zxvf xxxx.tar.gz
3、启动tomcat测试! ./xxx.sh
#执行 ./startup.sh
#停止 ./shutdown.sh
software

浙公网安备 33010602011771号