Linux常用命令以及操作合集

Linux需要记的目录

home

etc  配置文件目录

usr/local  我们自己安装的程序必须放在此目录

var 存放数据库的目录

Linux 操作文件目录

命令说明语法参数说明
ls显示文件和目录列表ls [-alrtAFR] [name…]
-i列出文件的详细信息
-a列出当前目录所有文件,包含隐藏文件
mkdir创建目录mkdir [-p] dirName
-p父目录不存在情况下先生成父目录
cd切换目录cd [dirName]
~当前用户的根目录
touch生成一个空文件
echo生成一个带内容文件echo abcd > 1.txt,echo1234 >> 1.txt
echo写入文件echo 内容 > 文件名
echo追加写入文件echo 内容 >> 文件名
cat显示文本文件内容cat [-AbeEnstTuv] [–help] [–version] fileName
cp复制文件或目录cp [options] source dest
rm删除文件rm [options] name…
-f强制删除文件或目录
-r同时删除该目录下的所有文件
mv移动文件或目录mv [options] source dest
mv重命名mv 原文件名 新文件名
find在文件系统中查找指定的文件
tree用于以树状图列出目录的内容
pwd显示当前工作目录
ln建立软链接
more分页显示文本文件内容
head显示文件开头内容
tail显示文件结尾内容
-f跟踪输出
cp拷贝…/hello.txt.拷贝上级目录的hello到本目录

Linux 系统管理命令

命令说明
stat显示指定文件的相关信息,比ls命令显示内容更多
who显示在线登录用户
hostname显示主机名称
uname显示系统信息
top显示当前系统中耗费资源最多的进程
ps显示瞬间的进程状态
du显示指定的文件(目录)已使用的磁盘空间的总量
df显示文件系统磁盘空间的使用情况
free显示当前内存和交换空间的使用情况
ifconfig显示网络接口信息
ping测试网络的连通性
netstat显示网络状态信息
clear清屏
killkill -9 端口号 杀死一个进程

Linux 开关机命令

命令语法参数参数说明
shutdownshutdown [-t seconds] [-rkhncfF] time [message]
-tseconds 设定在几秒钟之后进行关机程序
-k并不会真的关机,只是将警告讯息传送给所有只用者
-r关机后重新开机(重启)
-h关机后停机
-n不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机
-c取消目前已经进行中的关机动作
-f关机时,不做 fcsk 动作(检查 Linux 档系统)
-F关机时,强迫进行 fsck 动作
time设定关机的时间
message传送给所有使用者的警告讯息

重启


sudo 命令(重启或关机)    临时root权限
  • reboot
  • shutdown -r now

关机


  • shutdown -h now

tar

命令语法参数参数说明
tartar [-cxzjvf] 压缩打包文档的名称 欲打包目录
-c建立一个归档文件的参数指令
-x解开一个归档文件的参数指令
-z是否需要用 gzip 压缩
-j是否需要用 bzip2 压缩
-v压缩的过程中显示文件
-f使用档名,在 f 之后要立即接档名
-tf查看归档文件里面的文件

例子:

  • 压缩文件夹:tar -zcvf test.tar.gz test\
  • 解压文件夹:tar -zxvf test.tar.gz

gzip

命令语法参数参数说明
gzipgzip [选项] 压缩(解压缩)的文件名
-d解压缩
-l对每个压缩文件,显示压缩文件的大小,未压缩文件的大小,压缩比,未压缩文件的名字
-v对每一个压缩和解压的文件,显示文件名和压缩比
-num用指定的数字num调整压缩的速度,-1或–fast表示最快压缩方法(低压缩比),-9或–b

说明:压缩文件后缀为 gz

zip

  • 先下载unzipapt-get install unzip
  • 解压unzip 解压的文件目录

bzip2

命令语法参数参数说明
bzip2bzip2 [-cdz]
-d解压缩
-z压缩参数
-num用指定的数字num调整压缩的速度,-1或–fast表示最快压缩方法(低压缩比),-9或–best表示最慢压缩方法(高压缩比)。系统缺省值为6

Linux 编辑器

vim

运行模式

编辑模式:等待编辑命令输入

插入模式:编辑模式下,输入 i
进入插入模式,插入文本信息

命令模式:在编辑模式下,输入:进行命令模式

命令

:q直接退出vi

:wq保存后退出vi ,并可以新建文件

:q!强制退出

:w file将当前内容保存成某个文件

:set number在编辑文件显示行号

:set nonumber在编辑文件不显示行号

cat 文件名.后缀名查看文本内容

nano

nano 是一个字符终端的文本编辑器,有点像 DOS 下的 editor 程序。它比 vi/vim 要简单得多,比较适合 Linux 初学者使用。某些 Linux 发行版的默认编辑器就是 nano。

命令

  • 保存:ctrl + o
  • 搜索:ctrl + w
  • 上一页:ctrl + y
  • 下一页:ctrl + v
  • 退出:ctrl + x

Linux 软件包管理

修改数据源

由于国内的网络环境问题,我们需要将 Ubuntu 的数据源修改为国内数据源,操作步骤如下:

查看系统版本

lsb_release -a

输出结果为

No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04 LTS
Release:	16.04
Codename:	xenial
注意: Codename 为 xenial,该名称为我们 Ubuntu 系统的名称,修改数据源需要用到该名称

编辑数据源

vi /etc/apt/sources.list

删除全部内容并修改为

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

更新数据源

apt-get update

常用 APT 命令

安装软件包
apt-get install packagename

删除软件包

apt-get remove packagename

更新软件包列表

apt-get update

升级有可用更新的系统(慎用)

apt-get upgrade

Linux 软件包管理

其它 APT 命令

apt-cache search package

获取包信息

apt-cache show package

删除包及配置文件

apt-get remove package --purge

了解使用依赖

apt-cache depends package

查看被哪些包依赖

apt-cache rdepends package

安装相关的编译环境

apt-get build-dep package

下载源代码

apt-get source package

清理无用的包

apt-get clean && apt-get autoclean

检查是否有损坏的依赖

apt-get check

Linux 用户和组管理

使用 Root 用户

在实际生产操作中,我们基本上都是使用超级管理员账户操作 Linux 系统,也就是 Root 用户,Linux 系统默认是关闭 Root 账户的,我们需要为 Root 用户设置一个初始密码以方便我们使用。

设置 Root 账户密码

sudo passwd root

切换到 Root

su

设置允许远程登录 Root

nano /etc/ssh/sshd_config

# Authentication:
LoginGraceTime 120
#PermitRootLogin without-password     //注释此行
PermitRootLogin yes                             //加入此行
StrictModes yes

重启服务
service ssh restart

账户管理常用命令

增加用户

useradd 用户名
useradd -u (UID号)
useradd -p (口令)
useradd -g (分组)
useradd -s (SHELL)
useradd -d (用户目录)

如:useradd lusifer

增加用户名为 lusifer 的账户

修改用户

usermod -u (新UID)
usermod -d (用户目录)
usermod -g (组名)
usermod -s (SHELL)
usermod -p (新口令)
usermod -l (新登录名)
usermod -L (锁定用户账号密码)
usermod -U (解锁用户账号)

如:usermod -u 1024 -g group2 -G root lusifer

将 lusifer 用户 uid 修改为 1024,默认组改为系统中已经存在的 group2,并且加入到系统管理员组

删除用户

userdel 用户名 (删除用户账号)
userdel -r 删除账号时同时删除目录

组账户维护

groupadd 组账户名 (创建新组)
groupadd -g 指定组GID
groupmod -g 更改组的GID
groupmod -n 更改组账户名
groupdel 组账户名 (删除指定组账户)

口令维护

passwd 用户账户名 (设置用户口令)
passwd -l 用户账户名 (锁定用户账户)
passwd -u 用户账户名 (解锁用户账户)
passwd -d 用户账户名 (删除账户口令)
gpasswd -a 用户账户名 组账户名 (将指定用户添加到指定组)
gpasswd -d 用户账户名 组账户名 (将用户从指定组中删除)
gpasswd -A 用户账户名 组账户名 (将用户指定为组的管理员)

用户和组状态

su 用户名(切换用户账户)
id 用户名(显示用户的UID,GID)
whoami (显示当前用户名称)
groups (显示用户所属组)

Linux 文件权限管理

查看文件和目录的权限

ls –al使用 ls 不带参数只显示文件名称,通过ls –al` 可以显示文件或者目录的权限信息。

ls -l 文件名显示信息包括:文件类型 (d目录,-普通文件,l链接文件),文件权限,文件的用户,文件的所属组,文件的大小,文件的创建时间,文件的名称

-rw-r--r-- 1 lusifer lusifer 675 Oct 26 17:20 .profile

  • -:普通文件
  • rw-:说明用户 lusifer 有读写权限,没有运行权限
  • r--:表示用户组 lusifer 只有读权限,没有写和运行的权限
  • r--:其他用户只有读权限,没有写权限和运行的权限
-rw-r–r--1lusiferlusifer675Oct 26 17:20.profile
文档类型及权限连接数文档所属用户文档所属组文档大小文档最后被修改日期文档名称
-rw-r–r–
文档类型文档所有者权限(user)文档所属用户组权限(group)其他用户权限(other)
文档类型

d表示目录

l表示软连接

表示文件

c表示串行端口字符设备文件

b表示可供存储的块设备文件

余下的字符 3 个字符为一组。r只读,w可写,x可执行,-表示无此权限

更改操作权限

chown

是 change owner 的意思,主要作用就是改变文件或者目录所有者,所有者包含用户和用户组

chown [-R] 用户名称 文件或者目录
chown [-R] 用户名称 用户组名称 文件或目录

-R:进行递归式的权限更改,将目录下的所有文件、子目录更新为指定用户组权限

chown swy:swy test/ 把test文件给swy组的swy用户

chmod

改变访问权限

chmod [who] [+ | - | =] [mode] 文件名
who

表示操作对象可以是以下字母的一个或者组合

  • u:用户 user
  • g:用户组 group
  • o:表示其他用户
  • a:表示所有用户是系统默认的
操作符号
  • +:表示添加某个权限
  • -:表示取消某个权限
  • =:赋予给定的权限,取消文档以前的所有权限
mode

表示可执行的权限,可以是 r、w、x

文件名

文件名可以使空格分开的文件列表

示例

lusifer@UbuntuBase:~$ ls -al test.txt 
-rw-rw-r-- 1 lusifer lusifer 6 Nov  2 21:47 test.txt
lusifer@UbuntuBase:~$ chmod u=rwx,g+r,o+r test.txt 
lusifer@UbuntuBase:~$ ls -al test.txt 
-rwxrw-r-- 1 lusifer lusifer 6 Nov  2 21:47 test.txt
lusifer@UbuntuBase:~$

数字设定法

数字设定法中数字表示的含义

  • 0 表示没有任何权限
  • 1 表示有可执行权限 = x
  • 2 表示有可写权限 = w
  • 4 表示有可读权限 = r

也可以用数字来表示权限如 chmod 755 file_name

r w xr – xr - x
4 2 14 - 14 - 1
usergroupothers

若要 rwx 属性则 4+2+1=7

若要 rw- 属性则 4+2=6

若要 r-x 属性则 4+1=5

lusifer@UbuntuBase:~$ chmod 777 test.txt 
lusifer@UbuntuBase:~$ ls -al test.txt 
-rwxrwxrwx 1 lusifer lusifer 6 Nov  2 21:47 test.txt

lusifer@UbuntuBase:~$ chmod 770 test.txt 
lusifer@UbuntuBase:~$ ls -al test.txt 
-rwxrwx--- 1 lusifer lusifer 6 Nov  2 21:47 test.txt

Linux 安装 Java

查看防火墙状态

	Systemctl status firewalld
	如果Active:active防火墙已开启
	如果Active:inactive 防火墙已关闭

关闭防火墙命令

	Systemctl stop firewalld(只在本次开机状态下关闭,下次开机之后会重新打开)

永久关闭防火墙

	Systemctl disable firewalld
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
解压缩
tar -zxvf jdk-8u152-linux-x64.tar.gz
创建目录
mkdir -p /usr/local/java
移动安装包
mv jdk1.8.0_152/ /usr/local/java

配置环境变量

配置系统环境变量
vi /etc/environment

添加如下语句

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
export JAVA_HOME= /usr/local/java/jdk1.8.0_152
export JRE_HOME= /usr/local/java/jdk1.8.0_152/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
配置用户环境变量
vi /etc/profile
添加语句
if [ "$PS1" ]; then
  if [ "$BASH" ] && [ "$BASH" != "/bin/sh" ]; then
    # The file bash.bashrc already sets the default PS1.
    # PS1='\h:\w\$ '
    if [ -f /etc/bash.bashrc ]; then
      . /etc/bash.bashrc
    fi
  else
    if [ "`id -u`" -eq 0 ]; then
      PS1='# '
    else
      PS1='$ '
    fi
  fi
fi

export JAVA_HOME=/usr/local/java/jdk1.8.0_152
export JRE_HOME=/usr/local/java/jdk1.8.0_152/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi
使用户环境变量生效
source /etc/profile
测试是否安装成功
root@UbuntuBase:/usr/local/java# java -version
java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)

Linux 安装 Tomcat

下载地址 https://tomcat.apache.org/
解压缩并移动到指定目录
解压缩
tar -zxvf apache-tomcat-8.5.23.tar.gz
变更目录名
mv apache-tomcat-8.5.23 tomcat
移动目录
mv tomcat/ /usr/local/
常用命令
启动
/usr/local/tomcat/bin/startup.sh
停止
/usr/local/tomcat/bin/shutdown.sh
目录内执行脚本
./startup.sh
如果虚拟机启动完成浏览器没法访问执行以下命令
systemctl stop firewalld

Linux 安装 MySQL

安装

更新数据源

apt-get update

安装 MySQL

apt-get install mysql-server

配置远程访问

修改配置文件

nano /etc/mysql/mysql.conf.d/mysqld.cnf

注释掉(语句前面加上 # 即可):

bind-address = 127.0.0.1
重启 MySQL
service mysql restart
登录 MySQL
mysql -u root -p
退出 MySQL
quit;
授权 root 用户允许所有人连接
grant all privileges on *.* to 'root'@'%' identified by '你的 mysql root 账户密码';

常用命令

启动
service mysql start
停止
service mysql stop
重启
service mysql restart
其它配置

修改配置 mysqld.cnf 配置文件

vi /etc/mysql/mysql.conf.d/mysqld.cnf
配置默认字符集

[mysqld] 节点上增加如下配置

[client]
default-character-set=utf8

[mysqld] 节点底部增加如下配置

default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci

配置忽略数据库大小写敏感

[mysqld] 节点底部增加如下配置

lower-case-table-names = 1

打压缩包

mvn clean package -Dmaven.test.skip=true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值