首页 > 系统服务 > 详细

Linux

时间:2019-08-06 00:03:27      阅读:119      评论:0      收藏:0      [点我收藏+]

linux 目录结构

目录 说明
bin 存放二进制可执行文件(ls,cat,mkdir等)
boot 存放用于系统引导时使用的各种文件
dev 用于存放设备文件
etc 存放系统配置文件
home 存放所有用户文件的根目录
lib 存放跟文件系统中的程序运行所需要的共享库及内核模块
mnt 系统管理员安装临时文件系统的安装点
opt 额外安装的可选应用程序包所放置的位置
proc 虚拟文件系统,存放当前内存的映射
root 超级用户目录
sbin 存放二进制可执行文件,只有root才能访问
tmp 用于存放各种临时文件
usr 用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录
var 用于存放运行时需要改变数据的文件

Linux 操作文件目录

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

Linux 系统管理命令

                                 | 命令   | 说明                                       |

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

Linux 开关机命令

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

Linux 压缩命令

tar

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

gzip

命令 语法 参数 参数说明
gzip gzip [选项] 压缩(解压缩)的文件名
-d 解压缩
-l 对每个压缩文件,显示压缩文件的大小,未压缩文件的大小,压缩比,未压缩文件的名字
-v 对每一个压缩和解压的文件,显示文件名和压缩比
-num 用指定的数字num调整压缩的速度,-1或–fast表示最快压缩方法(低压缩比),-9或–best表示最慢压缩方法(高压缩比)。系统缺省值为6
说明:压缩文件后缀为 gz

bzip2

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

Linux 软件包管理

一、查看系统版本

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 autoremove packagename

更新软件包列表

apt-get update

Linux 用户和组管理

使用 Root 用户

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

设置 Root 账户密码

sudo passwd root

切换到 Root

su

设置允许远程登录 Root

vi /etc/ssh/sshd_config

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

重启服务
service ssh restart

Linux 文件权限管理

查看文件和目录的权限

  • -:普通文件
  • rw-:说明用户 lusifer 有读写权限,没有运行权限
  • r--:表示用户组 lusifer 只有读权限,没有写和运行的权限
  • r--:其他用户只有读权限,没有写权限和运行的权限

    文档类型

  • d 表示目录
  • l 表示软连接
  • – 表示文件
  • c 表示串行端口字符设备文件
  • b 表示可供存储的块设备文件
  • 余下的字符 3 个字符为一组。r 只读,w 可写,x 可执行,- 表示无此权限

    更改操作权限

    chown

    是 change owner 的意思,主要作用就是改变文件或者目录所有者,所有者包含用户和用户组
chown [-R] 用户名称 文件或者目录

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

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

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 x r – x r - x
4 2 1 4 - 1 4 - 1
user group others

若要 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 安装 Tomcat

解压缩并移动到指定目录

解压缩
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

Linux 安装 Java

下载地址

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/

设置所有者

chown -R root:root /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/soft/java/jdk1.8.0_152
export JRE_HOME=/usr/local/soft/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/soft/java/jdk1.8.0_152
export JRE_HOME=/usr/local/soft/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)

为其他用户更新用户环境变量

su faramita
source /etc/profile

Linux 安装 MySQL

安装

更新数据源

apt-get update

安装 MySQL

apt-get install mysql-server

系统将提示您在安装过程中创建 root 密码。选择一个安全的密码,并确保你记住它,因为你以后需要它。接下来,我们将完成 MySQL 的配置。

配置

因为是全新安装,您需要运行附带的安全脚本。这会更改一些不太安全的默认选项,例如远程 root 登录和示例用户。在旧版本的 MySQL 上,您需要手动初始化数据目录,但 Mysql 5.7 已经自动完成了。

运行安全脚本:

mysql_secure_installation

这将提示您输入您在之前步骤中创建的 root 密码。您可以按 Y,然后 ENTER 接受所有后续问题的默认值,但是要询问您是否要更改 root 密码。您只需在之前步骤中进行设置即可,因此无需现在更改。

测试

按上边方式安装完成后,MySQL 应该已经开始自动运行了。要测试它,请检查其状态。

root@ubuntu:~$ systemctl status mysql.service
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2017-11-21 13:04:34 CST; 3min 24s ago
 Main PID: 2169 (mysqld)
   CGroup: /system.slice/mysql.service
           └─2169 /usr/sbin/mysqld

Nov 21 13:04:33 ubuntu systemd[1]: Starting MySQL Community Server...
Nov 21 13:04:34 ubuntu systemd[1]: Started MySQL Community Server.

查看 MySQL 版本:

mysqladmin -p -u root version

配置远程访问

  • 修改配置文件
vi /etc/mysql/mysql.conf.d/mysqld.cnf
  • 注释掉(语句前面加上 # 即可):
bind-address = 127.0.0.1
  • 重启 MySQL
service mysql restart
  • 登录 MySQL
mysql -u root -p
  • 授权 root 用户允许所有人连接
grant all privileges on *.* to 'root'@'%' identified by '你的 mysql root 账户密码';

因弱口令无法成功授权解决步骤

  • 查看和设置密码安全级别
select @@validate_password_policy;
set global validate_password_policy=0;
  • 查看和设置密码长度限制
select @@validate_password_length;
set global validate_password_length=1;

常用命令

启动

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

Linux

原文:https://www.cnblogs.com/faramita/p/11306079.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!