Linux常用命令

Linux 常用命令

ls 显示目录

ls + 目录/正则表达式
-l == ll 列表显示
-a 显示出隐藏文件
-h 显示文件大小(不能单独使用)

cd 切换目录

. 当前目录
.. 上一级目录
../.. 上上级目录
- 上一次目录
~ 用户目录

pwd 显示当前目录绝对路径

yum 安装软件包

-y 所有询问都选择yes

locale 系统字符集查询

-a 查询系统可用的所有字符集

将显示在终端的内容重定向到文件

> filename 文件不存在自动新建,存在则清空后再写入
>> filename 文件不存在自动新建,存在则直接追加写入

more 查看长文件

可用空格进行翻页,Enter向下翻一行
常配合'|'一起使用
eg: ls -alh | more

less 支持前后翻页

pageup 向上翻一页
pagedown或空格 向下翻一页
Enter 向下翻一行
支持vim常用翻页操作

head 从开头显示文件内容

-n num filename 显示文件开头num行

tail 从尾部显示多行

显示指定行:tail -n num 文件
动态显示:tail -f 文件

touch 创建文件

mkdir 创建文件夹

-p 可以创建 A/B/C 这类文件夹

rmdir 删除文件夹

rm 可以删除文件和文件夹(删除后恢复很难)

-r 递归删除(删除文件夹必须加)
-f 强制删除
-i 交互式
+ 正则表达式

# 删除当前目录下文件名含有2013的文件
find . -name *.exe -type f -exec rm -rf {} \;

su 切换为root用户

- username 切换到username用户家目录

ln 创建连接文件

ln filename 创建硬链接

-------- <- 源文件
| 数据 | <- ln1
-------- <- ln2

ln -s filename 创建软连接

--------
| 数据 | <- 源文件 <- ln1
--------

cat 查看文件

+ >/>> 将查看的内容重定向
+ 文件1 + 文件2 顺序查看文件(配合重定向合并文件)

grep 在文件中搜索

-n + '正则' + 文件名 显示对应的行号
-i 忽略大小写
-v + '正则' 查找除了正则的内容

egrep 比 grep -E更适合使用正则

egrep '0{2}' = grep -E '0\{2\}'

man + commend_name 查看命令帮助信息

chmod 修改文件属性

drwxrw-r-x username groupname 4096 10月 21 11:08 filename
d 文件类型
rwx 文件拥有者username的权限
rw- 文件拥有者username对应组groupname的权限
r-x 其他用户的权限
4096 文件大小
10月 21 11:08 文件最后一次修改时间

'r' 读
'w' 写
'x' 执行
'-' 没有对应权限

eg:chmod u/g/o/a +/-/= rwx 文件名
   u 文件拥有者
   g 文件拥有者同一组的用户
   o 其他用户
   a 所有用户

   + 添加
   - 撤销
   = 设定

数字法
4 -> r
2 -> w
1 -> x
eg: r--r--r-- -> 444
    rwxr----x -> 741

chmod 777 文件夹 不修改文件夹内的文件
chmod 777 文件夹 -R 递归修改文件夹及其内的所有文件

mv 移动(剪切)/重命名

mv old_name new_name  重命名
-f 禁止交互式

gzip 压缩

-d 解压
-人压缩有所子目录

zip 压缩

zip filename 没有文件时自动创建
unzip -d 路径 filename.zip 解压(路径不存在可自动生成)

tar 打包,压缩

-c 打包
-v 显示进度
-f 制定文件名称,f后面一定是tar所以放最后
-x 解包

eg:tar -cvf filename.tar */路径 将所有当前路径/指定路径下的全部文件打包到filename.tar

tar -zcvf filename.tar.gz * 打包并用gzip压缩
tar -zxvf filename.tar.gz * 解包并用gzip解压

tar -jcvf filename.tar.bz2 * 打包并用bzip2压缩
tar -jxvf filename.tar.bz2 * 解包并用bzip2解压

tar ... -C 路径 解压缩到指定路径中

which 查看命令路径

ifconfig 查看ip信息

ifconfig ethname down 关闭ethname网卡
ifconfig ethname up 开启ethname网卡
ifconfig ethname 查看ethname网卡信息

ping 测试网络连接

ssh 远程登入

ssh username@host

who 查看当前登入的用户

whoami 查看当前登录

exit 登出

useradd 添加用户

-m 自动建主目录
-d /home/username 指定用户登录的指定目录(如果不使用,默认为/home目录下)
-g 用户组 添加到某个用户组

eg:useradd -m -d /home/username

userdel 删除用户

userdel username 删除用户但不删除主目录
userdel username -r 删除用户和其主目录

passwd username 修改用户的密码

su 切换到root用户

su - username 切换到username用户

sudo 指令添加root权限

groups username 查看用户所在的组

groupadd 添加组
groupdel 删除组

usermod -g newgroups username 修改用户的用户组
usermod -a -G newgroups username 给用户添加一个新的用户组

给用户添加sudo权限

sudo usermod -a -G adm username
sudo usermod -a -G sudo username

chown username filename 修改文件的拥有者
chgrp groupname filename 修改文件拥有者的用户组

cal 查看当前日历

cal -y 显示整年日历
cal -y number 显示number日历

date 查看或设置时间

date [MMDDhhmm[[CC]YY][.SS]]
eg: date 011313142016.15 2016年1月13日13点14秒15分

data + format
    %Y(2016) = %y(16) 年
    %m                月
    %d                日
    %H                时
    %M                分
    %S                秒

eg: date '+%Y:%m:%d'  2017:9:1

jobs 查看当前运行的程序

Ctrl + Z stop程序
bg %num 切换到后台运行
fg %num 切换到前台运行

ps 查看进程信息

-a 显示终端上的所有进程,包括其他用户的进程
-u 显示进程的详细状态
-x 显示没有控制终端的进程
-w 显示加宽,以便显示更多的信息
-r 只显示还在运行的进程

USER   PID    %CPU %MEN   VSZ RSS TTY STAT START TIME COMMAND
执行者 进程号 CPU  内存量                             命令/程序

top 动态显示进程

M 按内存使用量排序
P 根据CPU排序
T 按进程运行时间的长短排序
U 根据输入的用户名查找
K 根据输入的PID来杀死进程
q 退出
h 帮助

kill PID 杀死进程号为PID的进程

-9 在使用kill后没有终止进程时,强制终止进程

reboot 重启

shutdown

-r now 重启,会给别的用户提示
-h now 关机
-r/-h 20:05 在20:05时重启/关机
-r/-h +10 在分钟后重启/关机

init 0 关机
init 6 重启

df 检测磁盘空阿

-a 显示所有文件系统
-m 以1024字节为单位
-t 显示各指定文件系统的磁盘空间使用情况
-T 显示文件系统

du 检测当前目录磁盘存储空间

-h 转换单位
-a 递归显示所有
-S 显示指定文件或目录占用的数据块
-b 以字节为单位显示磁盘占用情况
-l 计算所有文件大小,对硬链接多次计算

du -sh filename/目录 显示文件或目录的大小

wc 统计指定文件中的字节数、数字、行数,并将统计结果显示输出

-c 统计字节数
-l 统计行数
-m 统计字符数,这个标志不能与-c标志一起使用
-w 统计字数,一个字被定义为空白、跳格或换行字符分隔的字符串
-L 打印最长行的长度

vim / vi

命令模式

Shift + 2个z 保存并推出
k 光标上
j 光标下
H 光标左
L 光标右
M 光标移到中间行
L 光标移到尾行最后一行行首
umn + G 光标移动到指定行
num + yy 从所在行复制到num行
p 粘贴
num + dd 从所在行剪切到num行
u 撤销
Ctrl + r 反撤销
w 向后移动一个字
b 向前移动一个字
{ 按段向上移动
} 按段向下移动
Ctrl + d 向下翻半屏
Ctrl + u 向上翻半屏
Ctrl + f 向下翻一屏
Ctrl + b 向上翻一屏
gg 光标到文件头
G 光标到文件末尾
Ctrl + n 自动补全(编辑格式)
x 删除后面一个字符
X 删除前面一个字符
D 往后删除全部到行末
do 往前删除全部到行首
dw 删一个单词
>> 文本右缩进
<< 文本左缩进
. 执行上命令
v + 上/下 进行多选
r 替换
^ 移到行首
$ 移到行末

Home + d 删除到行首
Shift + d 删除到行尾

末行模式

w 保存
!强制
q 退出
q! 不保存退出
wq = x 保存并退出

set number 显示行号
set nonumber 关闭行号
set fileencoding 查看文件编码

/ + 搜索的内容
    n 向下找
    N 向上找

noh 取消高亮

:%s/A/B/g 将所有的A替换为B

:1,10s/A/B/G 1到10行的A替换为B

:!'shell命令' 执行对应的shell命令

I/A/O/i/a/o 命令模式 -> 编辑模式
    I 从光标所在行的行首开始编辑
    i 从光标前开始编辑
    A 从光标所在行的行末开始编辑
    a 从光标后开始编辑
    O 从光标上方开始编辑
    o 从光标下方开始编辑

Shift + ; 命令模式 -> 末行模式

Esc 编辑模式 -> 命令模式

Esc 末行模式 -> 命令模式

fdisk 磁盘操作

fdisk -l 查看全部磁盘情况
fdisk disk_name 对磁盘分区
mkfs.ext3 new_disk 对分区格式化
mount -a 挂载所有分区

cp 复制

cp file 目录
cp -r 目录 新目录

查看文件编码

file --mime-encoding filename

!$ 选择上一个命令最后一个参数

vim 配置 显示行号 tab配置

编辑 vimrc 添加
set nu
set ts=4
set expandtab
set autoindent

uniq 用于报告或忽略文件中的重复行,一般与sort命令结合使用

-c 或 ——count 在每列旁边显示该行重复出现的次数;
-d 或 --repeated 仅显示重复出现的行列;
-f <栏位> 或--skip-fields=<栏位> 忽略比较指定的栏位;
-s <字符位置> 或 --skip-chars=<字符位置> 忽略比较指定的字符;
-u 或 ——unique:仅显示出一次的行列;
-w <字符位置> 或 --check-chars=<字符位置> 指定要比较的字符。

netstat 用于显示各种网络相关信息

-a (all)显示所有选项,netstat默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。(重要)
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名(macOS中表示协议 -p protocol)
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计 (重要)
-c 每隔一个固定时间,执行该netstat命令

echo $? 查看上一个命令的执行结果(原理是打印刚刚执行完的进程提供给系统内核的退出码)

返回0表示成功
放回0以外的值表示失败

你可能感兴趣的:(Linux常用命令)