Linux常用命令

  1. 1. 一、 Linux 目录说明
  2. 2. 二、命令
    1. 2.1. 1.目录操作命令
    2. 2.2. 2.文件操作命令
    3. 2.3. 3.压缩与解压缩
  3. 3. 三、系统管理
    1. 3.1. 1.查看进程信息
      1. 3.1.1. ps (静态)
      2. 3.1.2. top (动态)
      3. 3.1.3. 终止进程:kill
      4. 3.1.4. 关机重启:reboot、shutdown、init
  4. 4. 四、Linux网络命令
  5. 5. 五、Linux命令-用户、权限管理
    1. 5.1. 查看登录用户:who
    2. 5.2. 添加用户账号:useradd
    3. 5.3. 删除用户:userdel
    4. 5.4. 修改文件权限:chmod
      1. 5.4.1. 1.1.1. 字母法:chmod u/g/o/a +/-/= rwx 文件
      2. 5.4.2. 1.1.2. 数字法:
    5. 5.5. 1.2. 修改文件所有者:chown
    6. 5.6. 1.3. 修改文件所属组:chgrp

一、 Linux 目录说明

/root: 存放root用户的相关文件,root用户的家目录。宿主目录 超级用户

/home:用户缺省宿主目录eg:/home/spark/home/pengpeng

/usr:(unix software resource)系统软件共享资源目录,存放所有命令、库、手册页等

/opt: 第三方安装的软件保存位置。 习惯放在/usr/local/目录下

/bin: (binaries)存放系统命令的目录,所有用户都可以执行。

/sbin: (super user binaries) 保存和系统环境设置相关的命令,只有超级用户可以使用这些命令,有些命令可以允许普通用户查看。(root)

/usr/bin:存放系统命令的目录,所有用户可以执行。这些命令和系统启动无关,单用户模式下不能执行

/usr/sbin:存放根文件系统不必要的系统管理命令,超级用户可执行

/tmp:(temporary)存放临时文件

/etc:(etcetera)系统配置文件

/proc:虚拟文件系统,数据保存在内存中,存放当前进程信息

/boot:系统启动目录

/dev:(devices)存放设备文件

/sys :虚拟文件系统,数据保存在内存中,主要保存于内存相关信息

/lib:存放系统程序运行所需的共享库

/lost+found:存放一些系统出错的检查结果。

/var:(variable)动态数据保存位置,包含经常发生变动的文件,如邮件、日志文件、计划任务等

/mnt:(mount)挂载目录。临时文件系统的安装点,默认挂载光驱和软驱的目录

/media:挂载目录。 挂载媒体设备,如软盘和光盘

/misc:挂载目录。 挂载NFS服务

/srv : 服务数据目录

二、命令

#清屏
clear

#命令提示符
[root@localhost ~]#
# root当前登录用户
# localhost主机名
# ~当前所在目录(家目录)
# #表示超级管理员用户 $表示普通用户

#命令基本格式
# 命令名称 [选项] [参数]

1.目录操作命令

#1.查询
ls [选项] [目录]
#ll = ls -l

#2.建立目录
mkdir -p [目录名]

#3.切换目录
cd [目录名]
#回到家目录
cd
cd ~
#进入上级目录
cd ..
#4.查看当前所在目录路径
pwd

2.文件操作命令

#1.创建文件
touch [文件名]

#2.删除文件或目录
rm [文件或目录]
#选项 -f强制 -r删除目录
rm -rf [文件或目录名]

#3.文件复制
cp [原文件或目录] [目标目录]
#选项:-r复制目录 -p连带文件属性 -d若原文件是链接文件,则复制链接属性 -a相当于-pdr

#4.剪切或改名
mv [原文件或目录] [目标目录]

#5.查找
find [搜索范围] [搜索条件]

#6.文件链接
#软链接
ln -s 被链接的文件名 链接文件名称

文件编辑vi/vim

#文件编辑vi/vim
#1.命令模式
#gg光标移动到当前文档的第一行
#G光标移动到当前文档的最后一行
#dd删除/剪切光标所在行
#yy复制光标所在行
#2.输入模式
#i在目前光标所在处输入
#o在光标所在处的下一个行输入
#esc退出输入模式
#3.底线命令模式
#:set number或:set nu设置行号
#:set nonumber或:set nonu取号行号
#:wq存档并离开
#:w存档
#:q!不存档离开
#ZZ存档并离开

#文件查看
#从第一个行开始正向查看
cat 文件名
#从最后一个行开始正向查看
tac 文件名
#从文件头部查看指定的行数,n表示行数
head -n 文件名
#从文件尾部查看指定的行数,n表示行数
tail -n 文件名
#浏览大文件
less 文件名
#b向下翻一页,d向下翻半页,u向前翻半页,y向前翻一页,q退出
more 文件名
#与less命令类似但是不能向前翻页

3.压缩与解压缩

#.zip .gz .bz2 .tar.gz .tar.bz2
#打包
#.tar

#zip
#压缩
zip -r 压缩文件名 源文件/源目录
#解压缩
unzip 压缩文件名 [-d 目标目录]

#gz
#压缩
gzip 源文件
gzip -r 目录
#解压缩
gunzip 压缩文件名

#bz2
#压缩
bzip2 源文件
#-k保留源文件
bzip2 -k 源文件
#解压缩
bunzip2 压缩文件名

#tar
#打包
#-c打包 -v显示打包过程 -f指定打包的文件名
tar -cvf 打包文件名 源文件1/目录1 源文件2/目录2 源文件3/目录3...
#解打包
tar -xvf 打包文件名 [-C 目标目录]

#tar.gz打包并压缩
#压缩
#-z表示在打包完成后使用gzip进行压缩
tar -zcvf 压缩包名 源文件/源目录
#解压缩
tar -zxvf 压缩包名
#tar.bz2
#压缩
#-j表示在打包完成后使用bzip2进行压缩
tar -jcvf 压缩包名 源文件/源目录
#解压缩
tar -jxvf 压缩包名
#上传下载
yum install -y lrzsz
#上传
rz
#下载
sz 文件

#rpm包安装 redhat package managerment
rpm -ivh 安装包全名
#rpm包升级
rpm -Uvh 安装包全名
#RPM包卸载
rpm -evh 安装包全名

#yum在线安装
#搜索
yum search 关键字
#安装
yum install 包名
# 安装过程中自动回答yes
yum -y install 包名
#jdk安装
# 显示现有jdk的RPM
rpm -qa | grep jdk
# 卸载openJDK
rpm -evh --nodeps java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64
rpm -evh --nodeps java-1.8.0-openjdk-headless-1.8.0.181-7.b13.el7.x86_64
#解压缩
tar -zxvf jdk-8u181-linux-x64.tar.gz -C /usr/local
#设置环境变量
vi /etc/profile
# 在文件最后插入
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/rt.jar
# 生效profile
source /etc/profile

#tomcat
#解压
tar -zxvf apache-tomcat-8.5.43.tar.gz -C /usr/local
#相对路径启动
./startup.sh
#绝对路径启动
/usr/local/tomcat/bin/startup.sh

#mysql
#解打包
tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar -C mysql
#卸载自带数据库
yum remove mysql-libs
# 因为mysql的依赖关系,依次按顺序安装
rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm
# 获取mysql自动生成的密码
cat /var/log/mysqld.log | grep password
# 登录
mysql -u root -p
# 查看mysql密码全局参数配置
select @@validate_password_policy;
#查看和密码相关的规则
show variables like 'validate_password%';
# 修改mysql参数配置
# validate_password_policy:密码强度检查等级,0/LOW、1/MEDIUM、2/STRONG
set global validate_password_policy=0;
# validate_password_length:密码最小长度,参数默认为8
set global validate_password_length=4;
# validate_password_number_count:密码至少要包含的数字个数
set global validate_password_number_count=1;
# validate_password_mixed_case_count:密码至少要包含的小写字母个数和大写字母个数
set global validate_password_mixed_case_count=0;
# validate_password_special_char_count:密码至少要包含的特殊字符数
set global validate_password_special_char_count=0;
# 修改密码
set password=password('123456');
#开启远程访问
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
#开启后,刷新权限
flush privileges;

#防火墙管理
# 启动服务
systemctl start firewalld
# 关闭服务
systemctl stop firewalld
# 重启服务
systemctl restart firewalld
# 查看状态
systemctl status firewalld
# 开机启动
systemctl enable firewalld
# 开机禁用
systemctl disable firewalld

#防火墙命令
# 查看所有打开的端口
firewall-cmd --zone=public --list-ports
# 永久开放
firewall-cmd --zone=public --add-port=8080/tcp --permanent
# 删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
# 开放端口区间
firewall-cmd --zone=public --add-port=8080-8082/tcp
# 更新防火墙规则(开放端口后刷新一下)
firewall-cmd --reload

三、系统管理

# cal命令查看当前日历,-y显示整年日历:
cal
# date查看当前日期
date

1.查看进程信息

ps (静态)

ps -a

进程是一个具有一定独立功能的程序,它是操作系统动态执行的基本单元。
ps命令可以查看进程的详细状况,常用选项(选项可以不加“-”)如下:

选项 含义
-a 显示终端上的所有进程,包括其他用户的进程
-u 显示进程的详细状态
-x 显示没有控制终端的进程
-w 显示加宽,以便显示更多的信息
-r 只显示正在运行的进程
1、ps 命令用于查看当前正在运行的进程。
grep 是搜索
**例如: ps -ef grep java**
表示查看所有进程里 CMD 是 java 的进程信息
2、ps -aux grep java
-aux 显示所有状态

top (动态)

动态显示进程【了解】:top~~

top

top命令用来动态显示运行中的进程。top命令能够在运行后,在指定的时间间隔更新显示信息。可以在使用top命令时加上-d 来指定显示信息更新的时间间隔。

在top命令执行后,可以按下按键得到对显示的结果进行排序:

终止进程:kill

kill命令指定进程号的进程,需要配合 ps 使用。

使用格式:
kill [-signal] pid

# kil [进程号] 参数
#
kill -9 13636

信号值从0到15,其中9为绝对终止,可以处理一般信号无法终止的进程。
kill 9133 :9133 为应用程序所对应的进程号

关机重启:reboot、shutdown、init

四、Linux网络命令

wget 只下载【可能会丢包】
yum -y install wget

Yum 【下载并安装】
yum -y install vim 安装vim编辑器
yum search jdk 从软件商店里面搜索jdk的安装包
yum -y install xx 安装

五、Linux命令-用户、权限管理

#用户、权限管理
#查看当前用户
who am i
#退出登录账户
exit
#添加用户账号
useradd zhangsan -g g1
#设置用户密码
passwd zhangsan
#删除用户账号
userdel -r zhangsan
#切换用户
su lisi
#查看用户
cat /etc/passwd
#查看用户组
cat /etc/group
#查看用户所在组
groups zhangsan
#添加、删除组
groupadd g1
groupdel g1
#修改用户所在组
usermod -g 用户组 用户名
#修改文件权限
chmod 777 hello.java

查看登录用户:who

who命令用于查看当前所有登录系统的用户信息。

添加用户账号:useradd

在Unix/Linux中添加用户账号可以使用adduser或useradd命令,因为adduser命令是指向useradd命令的一个链接,因此,这两个命令的使用格式完全一样。

相关说明:

  1. Linux每个用户都要有一个主目录,主目录就是第一次登陆系统,用户的默认当前目录(/home/用户);
  2. 每一个用户必须有一个主目录,所以用useradd创建用户的时候,一定给用户指定一个主目录;
  3. 用户的主目录一般要放到根目录的home目录下,用户的主目录和用户名是相同的;
  4. 如果创建用户的时候,不指定组名,那么系统会自动创建一个和用户名一样的组名。

删除用户:userdel

命令 含义
userdel abc(用户名) 删除abc用户,但不会自动删除用户的主目录
userdel -r abc(用户名) 删除用户,同时删除用户的主目录

修改文件权限:chmod

chmod 修改文件权限有两种使用格式:字母法与数字法。

字母法:chmod u/g/o/a +/-/= rwx 文件

chmod 修改文件权限有两种使用格式:字母法与数字法。

1.1.1. 字母法:chmod u/g/o/a +/-/= rwx 文件

drwxrwxrwx

1.1.2. 数字法:

第一位:当前用户
第二位:同组用户
第三位:其他组用户

0:没有任何权限
1:仅有执行权限
2:仅有写入权限
3:有写入与执行权限
4:仅有读取权限
5:有读取与执行权限
6:有读取与写入权限
7:所有权限都有
r—4
w—2
x—1

# 
chomd 765 文件名

1.2. 修改文件所有者:chown

1.3. 修改文件所属组:chgrp