Linux基础

linux 基础

ip a 查看 ip 地址
ip addr 查看网卡
关机 shutdown -h now
重启 shutdown -r now 或者 reboot
Linux 查看版本当前操作系统发行版信息
cat /etc/issue 或 cat /etc/redhat-release

linux 目录结构及操作命令

linux 目录结构

/bin 命令存放目录
/boot 启动目录
/dev 设备文件存放目录
/etc 配置文件存放目录
/lib 函数库存放目录
/home 普通用户家目录
/mnt 系统挂载目录
/media 媒体设备挂载目录
/opt 第三方软件放置目录
/root 超级用户家目录
/tmp 临时目录
/sbin 系统命令行存放目录
/proc 放置数据到内存
/srv 服务存放数据目录
/usr 系统软件资源目录
/var 系统相关文档目录

目录管理

显示当前目录 pwd
目录创建 mkdir [-p] 目录名称 -p 依次创建目录
目录删除 rmdir [-p] 目录名称

文件操作

创建文件 touch 文件名
编辑文件 vi 文件名
文件查看
cat 显示全部内容
less 分页显示内容
more 分页显示内容 按空格翻页
head 显示文件前几行
tail 显示文件后几行

文件管理

复制 cp [-r] 来源文件 目标文件
移动 mv 来源文件 目标文件
删除 rm [-rf] 文件或目录
查找 find 目录 [-name/user/size] 文件名
查找命令 which 命令名

用户管理及组群管理

查看当前用户 who
创建用户 useradd [-g 群组] 用户名
设置密码 passwd 用户名
锁定账户 passwd -l 用户名
解锁账户 passws -u 用户名
修改用户名 usermod -l new_username old_username
删除用户 userdel [-r] 用户名
查看群组 groups [用户名]
创建群组 groupadd 群组名
删除群组 groupdel 群组名
用户组名修改 groupmod -n new_groupname old_groupname
切换用户 su 用户名

权限与角色

权限与角色设置

1.字符表示法

chmod [-R] mode file
mode 类别

who operator permission
u(owner) + r
g(group) - w
o(others) = x
a 代表ugo
+ 添加权限
- 移除权限
= 赋值权限

chmod [-R] ugo 文件或目录
u 所有者权限 g 所属组权限 o 其他用户权限
chmod -R a=rwx file

2.数字表示法

r 可读权限 2^2=4
w 可写权限 2^1=2
x 可执行权限 2^0=1

r:4 w:2 x:1 rwx 总和即权限
chmod -R 777 *

修改所有者
chown [-R] 用户名 文件或目录
修改组
chgrp [-R] 组名 文件或目录
修改所有者和组
chown [-R] 用户名:组名 文件或目录

切换账户

su username
从普通用户切换到 root 用户 sudo su root
从 root 用户切换到普通用户 sudo su jesse

压缩与解压

打包压缩

tar [-ctxzjJvf] 压缩文件 [源文件]
c 打包压缩/t 查看内容/x 解打包解压缩/v 显示过程/f 指定压缩包名称
z 使用 gzip 方式/j 使用 bzip2 方式/J 使用 xz 方式
tar -czvf a.tar.gz a
tar -cjvf a.tar.bz2 a

解压

tar -xzvf a.tar.gz -C 解压目录
tar -xjvf a.tar.bz2 -C 解压目录

gzip 压缩文件

gzip [-cdtv#] test

压缩扩展名为 gz
-c 将压缩数据输出到屏幕上
-d 解压缩参数
-t 校验文件是否损坏
-V 显示和源文件压缩比
-# 压缩等级 -1 最快 -9 最慢 默认-6

bzip2 压缩文件

bzip2 [-cdkv#] test

-c 将压缩数据输出到屏幕上
-d 解压缩参数
-k 保留原文件
-V 显示和源文件压缩比
-# 压缩等级 -1 最快 -9 最慢 默认-6

zip 压缩

zip [-q -r -e -m -o] [yourName].zip someThing

-q 表示不显示压缩进度状态
-r 表示子目录子文件全部压缩为 zip
-e 表示你的压缩文件需要加密,终端会提示你输入密码的
-m 表示压缩完删除原文件
-o 表示设置所有被压缩文件的最后修改时间为当前压缩时间

软件的安装与卸载

源码包安装

下载源码包(curl,wget)
解压(tar)
进入目录(cd)
编译前配置(./configure)
编译(make)
编译安装(make install)
删除源码包 make clean

rpm 包安装

下载 rpm 安装包
rpm -ivh 软件包
-i 安装 -v 显示详细信息 -h 显示进度
卸载 rpm -e 安装包(不可以有后缀.rpm)

yum 安装管理 rpm 包

安装 yum [-y] install 安装包
更新 yum [-y] update 安装包
卸载 yum [-y] remove 安装包

常用指令

命令 作用
ls 显示文件或目录
ls -l 列出文件详细信息 l(list)
ls -a 列出当前目录下所有文件及目录,包括隐藏的 a(all)
pwd 显示当前目录
mkdir 创建目录
rmdir 删除空目录
cd 打开目录
touch 创建空文件
echo 创建带有内容的文件
cat 查看文件内容
cp 拷贝
mv 移动或重命名
rm 删除文件
rm -r 递归删除,可删除子目录及文件
rm -f 强制删除
find 在文件系统中搜索某文件
wc 统计文本中行数、字数、字符数
grep 在文本文件中查找某个字符串
tree 树形结构显示目录,需要安装 tree 包
ln 创建链接文件
more、less 分页显示文本文件内容
head、tail 显示文件头、尾内容

在文件中查找内容 grep 指令

grep [-cinv] ‘key’ filename
-c 计算字符出现的个数
-i 忽略大小写
-n 输出行号
-v 显示没有该字符的行
‘key’ 要查找的字符,支持正则

添加自定义命令

一般来说,Shell 的初始化脚本分为 2 种:一种是全局默认的,一种是用户自己的。
全局默认的路径为/etc/profile 在 profile 中,它默认会再加载/etc/bash.bashrc。
另一种用户自己的就是$HOME 目录下的.profile 它默认会载加载.bashrc 文件。

这里我修改$home 目录下的.bashrc 文件,如果没有这个文件就新建

添加以下自定义命令
alias ll=“ls -l”

执行 source .bashrc 使命令生效

linux 服务器文件下载到本机,本机上传到服务器

安装 lrzsz
yum -y install lrzsz
使用方法:
上传文件
rz filename
下载文件
sz filename

ssh 服务的安装与配置

yum install openssh-server openssh-clients 或者 apt-get install openssh-server openssh-client
ssh 配置文件位于/etc/ssh/sshd_config

bash shell 设置别名

执行 cd ~ 进入到家目录,编辑 ~/.bashrc 文件(没有的话则新建该文件),将需要执行的别名命令添加到这个文件末尾,如:
alias ll='ls -l'
然后退出保存,执行 source ~/.bashrc 使刚才的配置生效。

其他命令

date -s 设置日期时间
例如:date -s “2017/11/11 00:00:00”

快速清空文件内容
$ > filename

cal 输出当前日历

tail 命令

tail 命令从指定点开始将文件写到标准输出.使用 tail 命令的-f 选项可以方便的查阅正在改变的日志文件,tail -f filename 会把 filename 里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.

1.命令格式;

tail[必要参数][选择参数][文件]

2.命令功能:

用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

3.命令参数:

-f 循环读取

-q 不显示处理信息

-v 显示详细的处理信息

-c<数目> 显示的字节数

-n<行数> 显示行数

–pid=PID 与-f 合用,表示在进程 ID,PID 死掉之后结束.

-q, --quiet, --silent 从不输出给出文件名的首部

-s, --sleep-interval=S 与-f 合用,表示在每次反复的间隔休眠 S 秒

4.使用实例:

实例 1:显示文件末尾内容

命令:

tail -n 5 log2014.log