Linux 常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
-rw-r--r--
    文件类型(-文件  d目录  l软链接)
    rw-     r--     r--
    u所有者 g所属组 o其他人
    r读w写x执行
                        组           kb  最后一次修改时间
    -rw-r--r--.  1 root root        18 Dec 28  2013 .bash_logout
    -rw-r--r--.  1 root root       176 Dec 28  2013 .bash_profile
    -rw-r--r--.  1 root root       176 Dec 28  2013 .bashrc
 
文件搜索命令
    文件搜索locate
        yum install mlocate
        locate 文件名 (查不到新建的文件,一天一更新数据库 可以使用updatedb命令更新)
    文件搜索find
 
        find / -name 文件名
        find / -iname 文件名  # 不区分大小写搜索
        find / -nouser # 查找没有所有者的文件
        find / -user root # 查找所有者为root的文件
        find /var/log/ -mtime +10 # 查找10天前修改的文件
            -10 10天内修改的文件
            10  10天当天修改的文件
            +10 10天前修改的文件
            atime 文件访问时间
            ctime 改变文件属性
            mtime 修改文件内容
        find / -size 25k
            -25k 小于25KB的文件
            25k  等于25KB的文件
            +25k 大于25KB的文件
 
 
        * 匹配任意字符
        ? 匹配任意一个字符
        [] 匹配任意一个中括号内的字符
    命令搜索whereiswhich
        whereis 只能查系统命令(不能查文件)
            -m  只看文档
            -b  只看路径
            whereis ls
        which 只能查系统命令(不能查文件)
            which ls (可以看见文件的别名)
    字符串搜索grep(在文件中查找字符串)
        -i 忽略大小写
        -v 取反
        grep xxx /root/xxx.txt
    findgrep区别
        find 查找文件
        grep 在文件中查找字符串
 
帮助命令
    man
    man ls # 查看ls详细帮助文档
    man -k password # 列出所有包含password相关的帮助 等同 apropos password
    man -f ls # 查看帮助级别 等同 whatis ls
    ls --help
压缩命令
    zip 压缩文件
        常见压缩格式: .zip .gz .bz2 .tar.gz  .tar.bz2
        zip 压缩文件名.zip 源文件 # 压缩文件
        zip -r 压缩文件名.zip 源目录  # 压缩目录
    unzip 解压缩
        unzip 源文件.zip
    tar 文件打包
        tar -cvf 打包文件名 源文件
            -c 打包
            -v 显示过程
            -f 指定打包后的文件名
        tar -cvf longzls.tar longzls
    tar 解打包
        tar -xvf longzls.tar
        -x 解打包
    tar.gz 压缩文件
        tar -zcvf 压缩文件名.tar.gz 源文件
        -z: 压缩为.tar.gz 格式
    tar.gz 解压缩文件
        tar -zxvf 压缩包.tar.gz
        -z: 解压缩.tar.gz格式
    tar.bz2格式压缩
        tar -jcvf 压缩包.tar.bz2 源文件
        -j 压缩为.tar.bz2 格式
    tar.bzt格式解压缩
        tar -jxvf 压缩包.tar.bz2
        -j: 解压缩.tar.bz2格式
 
    指定到压缩目录
        tar -zxvf 压缩包.tar.gz -C /temp/
        -C 指定目录
 
shutown 命令
    shutdown [选项] 时间
    -c 取消前一个关机命令
    -h 关机
    -r 重启
reboot 重启命令
logout 退出登录
 
文件挂载命令 mount
    mount 查看系统已挂载的设备
    mount -a # 依据配置文件/etc/fastab的内容,自动挂载
    mount [-t 文件系统] [-o特殊选项] 设备文件名 挂载点
    -t文件系统:加入文件系统类型来制定挂载的类型,可以是ext3,ext4,ios9660等文件系统
    -o特殊选项:可以指定挂载的额外选项
        mount  xxx /mnt/xxx
    卸载命令
        umount /mnt/xxx
w 查看用户登录信息命令
who 查看用户登录信息命令
last 查看登录用户信息
lastlog 查看所有用户登录信息
常用快捷键
    ctrl + a 光标移动到行首
    ctrl + l 清屏
    ctrl + u 光标位置删除到行首
    ctrl + e 光标移动到行尾
    ctrl + z 把命令放入后台执行
    ctrl + r 在历史命令中搜索
历史命令
    history [选项] [历史命令]
    -c 清空历史命令
    -w 把缓存中的历史命令写入历史命令保存文件~./bash_history
 
写入环境变量配置文件
    vim ~/.bashrc  # root 用户下的环境变量配置文件
    每个用户下都有自己的配置文件
    source .bashrc # 刷新配置文件
alias 别名
    alias 查看系统别名
    alias ls='ls --color=auto'  # 设置系统别名
    unalias 别名 # 删除别名
shell 脚本
    echo "hello word"
    -e 支持特殊符 (\n \t ...)
    echo "\e[1;31m 张三 \e[0m" # \e使用颜色 1开启颜色 31m颜色类型 \e[0m 结束颜色
标准输入输出
    0 标准输入
    1 标准输出
    2 标准错误输出
输出重定向
    标准输出重定向
        命令 > 文件  # 覆盖的方式
        命令 >> 文件 # 追加的方式
    标准错误输出重定向
        命令 2> 文件  # 覆盖
        命令 2>> 文件 # 追加
    正确输出和错误输出同时保存
        命令 > 文件 2>&1  # 覆盖内容,正确和错误都输出到指定文件中A
        命令 >> 文件 2>&1 # 追加内容,正确和错误都会追加到指定文件中B
        命令 &> 文件  # 覆盖同A
        命令 &>> 文件 # 追加同B
        ls &>/dev/null # 丢弃记录
        命令 >> 文件A 2>>文件B  # 正确的输出到文件A,错误输出到文件B
逻辑与 || , && , ;
    || 逻辑与
    && 并且
    ;  命令分隔符
管道符
    | 前一个命令执行结果,作为后一个命令执行对象
    netstat -an | grep 80 | wc -l
    netstat的查询结果作为对象,再用grep查询包含80关键字的行,再用wc统计行数
    命令1 | 命令2 # 第一条命令需正确执行
通配符
    ?   匹配一个任意字符
    *   匹配0个或任意多个字符,匹配任何内容
    []  匹配任意括号中的一个字符[abc]匹配a或者b或者c
    [-] 匹配括号中一个范围[0-9] 匹配0-9任意一个数
    [^] 匹配括号中一个范围[^0-9] 匹配不是数字的字符
特殊符号
    `` 和 $()  # aa=`ls` == aa=$(ls)
    '' # 字符串
    "" # 可识别特殊符号
    # # 注释符号
    $ # 调用变量
    \ # 转义符
vim编辑器
    vim +3 xxx.txt # 打开文件光标定位到第三行
    vim + xxx.txt # 打开文件光标定位最后一行
    vim aa bb cc # 同时打开多个文件:n切换下个文件 :prev和:N切换上一文件
    :w 保存
    :q 退出
    :! 强制执行
    :ls 列出打开的文件
    :n 下一个
    :N 上一个
    :14 定位行
    /xxx 查询xxx字符串
    ?xxx 光标处向前查询
    hjkl 光标移动
用户和用户组
    groupadd sexy # 创建用户组
    groupadd -g 888 sexy # 创建用户组指定编号
    useradd -g sexy sdf  # 创建用户并加入用户组
    # 未指定用户组系统会默认创建同名的用户组
    useradd -d /home/xxx jzmb  # 创建用户并指定用户目录(默认会创建同名目录)
    usermod -l newuser sdf # 修改用户名
    usermod -c 注释 sdf  # 给用户添加注释
    usermod -g sexy sdf # 切换用户组到sexy
    userdel -r sdf # -r删除文件并删除用户
    passwd -l sdf # 锁定用户
    passwd -u sdf # 解锁用户
    passwd -d sdf # 免密登录
查看所有进程
    ps aux
    ps -le
    

 查看磁盘情况

1
2
3
4
5
6
7
8
9
df -hl 查看磁盘剩余空间
  
df -h 查看每个根路径的分区大小
  
du -sh [目录名] 返回该目录的大小
  
du -sm [文件夹] 返回该文件夹总M数
  
du -h [目录名] 查看指定文件夹下的所有文件大小(包含子文件夹)

  

查看目录文件大小

1
du --max-depth=1 -h

  

 依赖查询是否安装

ldconfig -p | grep  依赖名称

 

查看sftp登录日志

1
2
3
vim /etc/rsyslog.conf
 
auth,authpriv.*,local5.*                 /var/log/sftp.log

 

1
2
3
4
5
6
7
8
# 给目录添加 用户:用户组 权限
chown sftpadmin:sftpgroup /data/sftp/sftpadmin/upload/
# 给目录及以下所有文件目录添加 用户:用户组 权限
chown -R sftpadmin:sftpgroup /data/sftp/sftpadmin/upload/
 
# 挂载卸载目录
mount /dev/vdb1 /data
umount -l /data

  

 

posted @   qukaige  阅读(177)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
历史上的今天:
2018-03-27 Python3 requests库基本使用
2018-03-27 Python3 urllib库常用方法
点击右上角即可分享
微信分享提示