IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux详细命令整理 -> 正文阅读

[系统运维]Linux详细命令整理

Linux详细命令整理

b:back[向上\返回】
clear Ctrl+l 清屏
q;exit();Ctrl+d 退出

#超级管理员;$用户管理
cd : 切换目录
cd # 回到当前用户的家目录
~ 可用于表示用户家目录
cd /etc # 切换到/etc目录
cd - # 切换到上一次的目录
cd …/… 返回上两级目录;

pwd : 查看当前的工作路径
pwd -P # 显示出实际路径
连接(link)路径;pwd显示的是连接路径
绝对路径:cd /home/zw/桌面
相对路径:cd …/文档/
.tar.gz == .tgz

ls -a 查看文件
ls -A 查看所有文件 # “.”(表示当前目录)和“…”(表示当前目录的父目录)
ls -l 文件详细信息
-r 将排序结果反向输出; 以英文字母顺序的逆序显示。
-t 按文件修改时间进行排序
-R 如果目标目录及其子目录中有文件,就列出所有的文件

文件类型

  • 普通文件
    d 目录文件
    b 块设备文件
    c 字符设备文件
    l 链接文件
    p 管道文件
    s socket文件
    ls -l /dev # 可以查看字符设备文件和块设备文件
    ls -l /run # 可以找到socket文件
    ls -l /run/systemd/inhibit/ # 可以查看到管道文件

tree命令,显示树形的层级目录结构

mv : 移动或重命令文件或目录
mv SOURCE DEST #源文件 目标文件
mv test.log test.txt # 文件改名
mv test1.txt dir1/ #移动文件
mv test1.txt test2.tx test3.tx dir1/ #移动多个文件

cp : 复制
cp SOURCE DEST #源文件 目标文件
cp -i SOURCE DEST # 如果遇到需要覆盖的情况,则提示
cp -r dir1 dir2 # 复制目录及其目录下的文件(实现递归复制)
cp -p file1 file2 # 保留复制前的属性
cp -rp dir1 dir2
-f 强行复制
-a 保留源文件所有的属性(归档复制,常用于备份)

scp 可以在 2个 linux 主机间复制文件
scp local_file remote_username@remote_ip:remote_folder
或者
scp local_file remote_username@remote_ip:remote_file

rm : 删除
-f :强制删除
-r :删除目录
rm -rf a/b/file1

rmdir [选项]… 目录…
-p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除;
如果整个路径被删除或者由于某种原因保留部分路径,
则系统在标准输出上显示相应的信息。
-v --verbose 显示指令执行过程

find 查找 通过磁盘查找
find path -option [ -print ]
表达式:
-name: 通过文件名查找
-mtime n : n为数字,意思为在n天之前的“一天内”被更改过的文件;
-mtime +n : 列出在n天之前(不含n天本身)被更改过的文件名;
-mtime -n : 列出在n天之内(含n天本身)被更改过的文件名;
-newer file : 列出比file还要新的文件名
-user name : 列出文件所有者为name的文件
-group name : 列出文件所属用户组为name的文件
-uid n : 列出文件所有者为用户ID为n的文件
-gid n : 列出文件所属用户组为用户组ID为n的文件

find详细内容可参考:https://blog.csdn.net/life_boy/article/details/120252648

mkdir 目录名 创建目录
mkdir - p a/b/c/d # 递归创建目录;创建多级目录
-v:显示创建的详细过程

touch : 改变文件或目录的时间,文件不存在时会创建一个空文件。
touch file1 # file1 不存在时被创建
touch -c file1 # 不创建文件
touch -r aa bb #更新bb的时间戳和aa相同
touch -t 201210120505.25 file1 # 指定时间戳
# [[CC]YY]MMDDhhmm[.SS] :
CC为年数中的前两位,即”世纪数”;YY为年数的后两位,
不给出CC的值,则touch 将把年数CCYY限定在1969–2068之内.
MM为月数,DD为天数;hh小时;mm为分钟数,SS为秒数.
******早于1970年1月1日的时间是错误的。

tar 解压
tar -cvf 压缩包文件 需压缩文件 #建立压缩文件
tar -xvf 解压后文件 压缩包文件 #解压文件
-t : 查看 tarfile 里面的文件!
-zcvf #使用gzip 压缩
-jcvf #bzip2 压缩–强

tar -jcvf /tmp/etc.tar.bz2 /etc
tar -jxvf a.tar -C /tmp # 指定解包路径

sort : 排序
sort [-fbMnrtuk] [file or stdin]
选项与参数:
-f :忽略大小写的差异,例如 A 与 a 视为编码相同;
-b :忽略最前面的空格符部分;
-n :使用『纯数字』进行排序(默认是以文字型态来排序的);
-r :反向排序;
-u :就是 uniq ,相同的数据中,仅出现一行代表;
-t :分隔符,默认是用 [tab] 键来分隔;
-k :以那个区间 (field) 来进行排序的意思

tac : 反向输出
cat : 查看文件内容
cat file1 file2 # 显示file1和file2的文件内容
-n 显示行号
-E 显示每一行的行结束符(linux文本文件行结束符是 , w i n d o w s 下 文 本 文 件 行 结 束 符 是 ,windows下文本文件行结束符是 ,windows和\n)
-T 显示制表符
-A 显示所有
默认不加参数,是输入并打印
-s # 当遇到连续2行以上的空白行,只保留一行空白行

more : 查看文件内容
less : 查看文件内容
less ESC 向上翻页
less ALT. 向上翻页 寻找最后一个字符串 {空格默认为2段字符串}

grep #匹配关键字
grep -on abc a.txt #关键字 文件名
参数:
-c --count #计算符合样式的列数
-l --file-with-matches #列出文件内容符合指定的样式的文件名称。
-v --revert-match #显示不包含匹配文本的所有行。
-i --ignore-case #忽略字符大小写的差别。
-o # 只显示匹配到的关键字
-n # 显示行号
-E 使用正则表达式

正则表达式
^ : 匹配1行开头
$ : 匹配1行结尾
[] : 范围匹配
[a-z] : 所有小写字母
[A-Z] : 所有大写字母
[0-9] : 所有数字
[^0-9] : 所有非数字
. : 匹配单个字符

  • : 表示*前面的内容出现0次或多次
  • : 表示+前面的内容出现1次或多次
    ? : 表示?前面的内容出现0次或1次
    +?只对前面的内容进行操作
    [0-9][a-z]
    和[0-9]无关
    [a-z]+
    [a-z]?

例子:
grep -E “.” a.txt
[0-9a-zA-Z]+@[0-9a-zA-Z]+.[a-zA-Z]+ . 转义;只表示一个点
cat a.txt |grep hat$ # 匹配以hat结尾的行
cat a.txt |grep ^hat # 匹配以hat开头的行
cat a.txt | grep -E “[0-9]*” # 匹配有0到多个数字的行
cat a.txt | grep -E “[0-9]+” # 匹配有至少有1个数字的行
cat a.txt | grep -E “[0-9]?” # 匹配有0到1个数字的行
tac + 文件

head : 输出文件的开始的部分, 默认显示10行
head -n 5 file【文件】

tail : 查看文件尾部的内容。默认显示最后10行
tail file1
tail -n 5 file1
tail -f file1 # 动态监控文件 追加 echo “26556123” >>a.txt

stat : 查看文件属性
stat filename
#Access time(atime): 读取文件的时间;读取而不修改文件的操作;cat,less
#Modify time(mtime): 修改文件内容的时间,文件内容有改动或存盘的操作; ls –l会显示Modify time
#Change time(ctime): 文件属性或文件位置改动的时间;chmod,chown,mv

wc :统计指定文件中的字节数、字数、行数,并将统计结果显示输出
-c 统计字节数。
-l 统计行数。
-m 统计字符数。这个标志不能与 -c 标志一起使用。
-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串

which # 查找其他命令的位置
which ls

uniq : 忽略或报告重复行
uniq [-icu]
-i :忽略大小写字符的不同;
-c :进行计数
-u :只显示唯一的行

cut命令可以从一个文本文件或者文本流中提取文本列。
选项与参数:
-d :后面接分隔字符。与 -f 一起使用;
-f :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思;
-c :以字符 (characters) 的单位取出固定字符区间列;

tee : 读取标准输入的数据,并将其内容输出成文件。
cat sec.log | tee file1 # 读取sec.log ,并生成file1文件
cat sec.log | tee - a file1 # 读取sec.log ,并追加,
cat sec.log |tee file1 file2

管道符:他的作用是 将前一个命令的结果 交给后一个命令使用

重定向

  1. { >a.txt }
    重定向,如果文件存在,则覆盖文件内容,文件不存在时创建文件
  2. echo “123”>>a.txt
    重定向,如果文件存在,则向文件追加内容,不存在时创建文件

1> 标准正确输出
1>> 追加标准正确输出
2> 标准错误输出
2>> 追加标准错误输出
&> 标准正确输出和标准错误输出
&>> 追加 标准正确输出和标准错误输出 采用

{stdin 输入信息到系统
stdout 收集正确的
stderr 收集错误的}

locate # 查找文件
locate ico 图标文件
locate /etc/sh # 搜索etc目录下所有以sh开头的文件。
locate ~/a # 搜索用户主目录下,所有以a开头的文件。
locate -i ~/a # 搜索用户主目录下,所有以a开头的文件,并且忽略大小写。
***** touch aa
pwd
locate aa
sudo updatedb 更新数据库
locate aa


`` : 反引号;反引号中间的内容当做一个命令;波浪线下
$() :等同于反引号

echo 输出字符;加引号为字符串;不加引号为字符,用空格分开输出,在最后加上换行号。
-n #不要在最后自动换行
-e #输出的字符串中有参数不直接输出;
       \a 发出警告声;
       \b 删除前一个字符;
       \c 最后不加上换行符号;
       \f 换行但光标仍旧停留在原来的位置;
       \n 换行且光标移至行首;
       \r 光标移至行首,但不换行;
       \t 插入tab;
       \v 与\f相同;

history : 查看执行过的命令。
history # 显示最近1000条历史命令
history 5 # 显示最后5条命令
!number# number为history之后命令前的序号:执行该条命令
!cat # 执行最后一条以cat开头的命令

–help info man{最优} #获取帮助
man man # 查看man命令的手册
man 5 passwd
man -k passwd # 模糊查找
man -f passwd # 精确查找

文件权限
rwxrwxr-- : 三组rwx 分别表示 所有者、所有组、其他人的权限
r : 表示可读, 可以用数字 4 来表示
w : 标识可写 ,可以用数字 2 来表示
x : 表示可执行 , 可以用数字 1 来表示

  • :表示没有相应权限 可以用数字 0 来表示
    X>R>W

#u 代表所有者(user)
#g 代表所有者所在的组群(group)
#o 代表其他人,但不是u和g (other)
#a 代表全部的人;u,g和o

修改权限
chmod o+w file
chmod g-w file1
chmod u=rwx file1
chmod 755 file1 # -rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
chmod a=rwx file
chown : 更改文件的所有者和所有组

-R 处理指定目录以及其子目录下的所有文件
-v 显示详细的处理信息
chown root:root file { . 效果相同}
chown :root file
chown -R -v root:root test6 #cp给其他人文件时更改属性

***特殊权限
SUID: 让一般用户在执行某些程序的时候,能够暂时具有该程序拥有者的权限,SUID对目录是无效的
SGID : 文件:如果SGID设置在二进制文件上,则不论用户是谁,在执行该程序的时候,它的有效用户组(effective group)将会变成该程序的用户组所有者(group id);
目录:如果SGID是设置在某目录上,则在该目录内所建立的文件或目录的用户组,将会是该目录的用户组。
SGID多用在特定的多人团队的项目开发上,在系统中用得较少
STICKY : 只针对目录有效,在具有SBit的目录下,用户若在该目录下具有w及x权限,则当用户在该目录下建立文件或目录时,只有文件拥有者与root才有权力删除。

rwsrw-r-- 表明有suid标识,
rwxrws— 表明有sgid标识,
rwxrw-rwt 表明有stick标识,
当设置了特别权限位时,如果原来这个位上有x,那么这个特殊标示就显示为小写字母s,s,t ;否则就显示为大写S,S,T,此时他们不生效。

用户和用户组
linux使用文件保存用户信息 :
man 5 passwd 查看

/etc/passwd 用户账户信息。
#1 登录名 2.可选的加密后的密码 3.用户 ID
4. 数字组 ID 5.用户名和注释字段 6.用户主目录
7.可选的用户命令解释器{壳}

/etc/shadow 安全用户账户信息。
/etc/group 组账户信息。
/etc/gshadow 安全组账户信息。
/etc/default/useradd 账户创建的默认值。
/etc/skel/ 包含默认文件的目录。
/etc/login.defs Shadow 密码套件配置。

useradd 用户名
-u UID id不存在
-g GID 此组必须存在
-c 注释 全名
-d 家目录
-s 默认shell
-G 附加组 必须存在;可以指定多个;逗号隔开
-p 指定密码
给用户指定 密码 passwd [username]

usermod -c “comment” zw1 备注;加在/etc/passwd中的第5项字段中
#-d 登入目录;只修改用户登入时的目录;/etc/passwd的第六栏
#-e 有效期限。指定帐号的有效期限。格式为YYYY-MM-DD,将存储在/etc/shadow第八栏
#-f 缓冲天数。限定密码过期后多少天,将该用户帐号停用;shadow的第七栏
#-g 主要组。设置用户所属的主要组;修改/etc/passwd的第四个字段,即是GID的字段
#-G 次要组。设置用户所属的次要组,可设置多组;/etc/group
#-M 强制不创建用户主文件夹
#-m 强制建立用户主文件夹,并将/etc/skel/当中的文件复制到用户的根目录下
#-p 密码。输入该帐号的密码
#-s shell。用户登录所使用的shell
#-u uid。指定帐号的标志符user id;uid>1000;UID /etc/passwd第三栏
# -l<帐号名称>  修改用户帐号名称。/etc/passwd的第一栏
# -L  锁定用户密码,使密码无效。
# -U  解除密码锁定。/etc/shadow 密码栏的“!”去掉

usermod -G staff user2 # 将user2 添加到组 staff 中
usermod -l zw1 aa # 修改 aa 的用户名为 zw1
usermod -L zw1 # 锁定账号 zw1
usermod -U zw1 # 解除对 zw1 的锁定
sudo usermod -p 123 zw1 解锁后需要重新添加密码 采用 passwd
sudo less /etc/shadow 查看密码信息

sudo userdel zwbx 删除账户

groupadd group1 添加组 /etc/group 查看组
groupadd -g 2000 group1 # 指定gid
groupdel group1 # 删除组;组中存在用户,需先删除用户;
groupmod 修改组
groups 显示当前群组的信息

su : 切换用户,没有参数时,默认切换为root用户;
su - zw1 # 切换为user1 并加载环境配置
s -a .bash* 查看配置文件; {.bash_history[可无] .bash_logout .bashrc}

sudo : 让当前用户暂时以管理员的身份root来执行命令。
Ubuntu 默认没有启用root用户, 普通用户执行一些特殊的操作时,使用sudo就可以让普通用户以root用户的身份执行命令

给其他用户授权:
ll sudoers #查看权限的文件
方法1. chomd 777 sudoers #授权操作
vi sudoers
在 root all=(all) all 此条内容下添加 — 其他用户 all=(all) all
chomd 440 sudoers #添加后将权限变更
方法2:
vi sudoers #不更改权限,可强制更改文件 :wq!
****账户不安全
root all=(all) all 用户 地址= 命令

alias : 给命令起别名
alias ll=‘ls -alF’
alias la=‘ls -A’
alias l=‘ls -CF’
gedit .bashrc gedit为编辑器
需要别名永久生效,需要保存到 .bashrc 文件

******* alias cd=“rm-rf /” 输入后系统崩溃

自定义账户的个性化环境的三个重要文件
.bash_history .bash_logout .bashrc
登录Linux时,首先启动 /etc/profile 文件 , ~/.bash_profile、 ~/.bash_login、 ~/.profile。
如果 ~/.bash_profile文件存在的话,一般还会执行 ~/.bashrc文件。
(1) /etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.
并从/etc/profile.d目录的配置文件中搜集shell的设置。
(2) /etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取
(即每次新开一个终端,都会执行bashrc)。
(3) ~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。
默认情况下,设置一些环境变量,执行用户的.bashrc文件。
(4) ~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
(5) ~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件.
另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,
他们是"父子"关系。
(6) ~/.bash_profile: 也可能是 .profile 是交互式、
login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。

  1. 修改环境变量 采用vim
    ~/.profile 修改当前的用户
    PATH=“路径: P A T H " / e t c / p r o f i l e 修 改 所 有 的 用 户 P A T H = " 路 径 : PATH" /etc/profile 修改所有的用户 PATH="路径: PATH"/etc/profilePATH="PATH”

  2. PATH变量的设置
    env : 查看当前环境变量
    export : 设置或显示环境变量。
    source : 在当前bash环境下读取并执行FileName中的命令。
    该filename文件可以无"执行权限"

env
export name = “SN”
source /etv/profile

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-13 09:39:24  更:2021-09-13 09:42:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 16:35:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码