Linux基础命令超全笔记
一、帮助与别名命令
man ls# 查看ls后面可以接哪些参数alias if="ifconfig"# 给ifconfig取个别名叫做 ifunalias if# 取消if这个别名
二、Vim 编辑器命令
编辑文件进入方式
vim + 文件名
编辑模式切换
- 按下
i:从命令模式切换到编辑模式(insert 插入) - 编辑完按
ESC切换到命令模式
保存退出
:wq!# 强制保存并退出- 按下
esc+ 大写锁定 +ZZ# 快速保存退出
Vim 插入模式快捷键
i:在光标所在位置的前方添加数据I:行首进入编辑模式,在光标所在行行首输入a:在光标所在位置的后面进行输入A:在光标所在行的行尾进行输入o:光标所在行下一行新开一行输入O:光标所在行上一行新开一行输入
Vim 删除、复制、粘贴
x:删除光标所在位置的字母X:删除光标所在前的字符dd:删除光标所在行yy:复制光标所在行3yy:复制光标开始往后三行- 小
p:在光标所在行的下一行进行粘贴 - 大
P:在光标所在行的上一行进行粘贴
Vim 光标跳转
G:移动到最后一行gg:移动到第一行:8:光标直接跳到第八行
Vim 常用底行命令
:wq# 保存并退出:wq!# 强制保存并退出:w# 只保存:q# 退出:q!# 强制不保存退出:set nu# 设置显示行号:set nonu# 取消行号展示:/字符# 高亮匹配字符:noh# 取消高亮展示:e bb.txt# 在vim中打开指定文件:r bb.txt# 将指定文件内容插入到当前光标下一行
Vim 替换与批量操作
:%s/example/jdk# 替换每一行第一次出现的example为jdk:%s/jdk/example/g# g全局替换,全部替换:%s/example/jdk/gc# 全局替换并逐个询问确认:1,$s/xxx/222/g# 全文全局替换:%norm Ixxx# 每一行行首插入xxx:%norm Axxx# 每一行行尾插入xxx:sort# 对文件内容排序:g/jdk# 只显示包含jdk的行:v/jdk# 只显示不包含jdk的行:undo# 撤销上一次操作:redo# 重做操作
三、文件查看命令
cat 命令
cat 文件名# 查看文件内容cat -n aa.txt# 带行号显示文件内容nl aa.txt# 带行号显示文件内容cat aa.txt | grep "duoceshi"# | 管道符:左边输出作为右边输入;grep 关键词搜索
less / more
less aa.txt# 查看大文件,空格翻页,ctrl+z退出more head_tail.txt# 百分比进度查看文件内容
四、重定向 > 与 >>
目标文件不存在
cat aa.txt > bb.txt# 新建bb.txt,把aa.txt内容写入cat aa.txt >> cc.txt# 新建cc.txt,把aa.txt内容写入
目标文件已存在
cat aa.txt > qq.txt# 覆盖原有文件内容cat aa.txt >> ww.txt# 追加内容到文件末尾
五、head 与 tail 命令
head head_tail.txt# 默认查看前10行tail head_tail.txt# 默认查看后10行tail -f 文件名# 实时查看日志
定制行数查看
head -n 5 head_tail.txt# 查看前5行head -n -5 head_tail.txt# 忽略最后5行,不显示后5行tail -n +5 head_tail.txt# 从第五行开始查看tail -n 5 head_tail.txt# 查看最后5行tail -n -5 head_tail.txt# 查看最后5行
查看 5~10 行内容
tail -n +5 head_tail.txt | head -n 6head head_tail.txt | tail -n 6head head_tail.txt | tail -n +5
六、find 查找命令
find /example -name aa.txt# 查找example目录下aa.txt路径find /example -name "*.txt"# 查找所有以.txt结尾文件,*匹配任意字符find /example -name "??.txt"# ? 匹配单个字符find /example -type f# 只查找普通文件find /example -type d# 只查找目录
七、grep 高级过滤
grep -A 2 "15" head_tail.txt# -A after 匹配行及后面2行grep -B 2 "15" head_tail.txt# -B before 匹配行及前面2行grep -C 2 "15" head_tail.txt# -C center 匹配行前后各2行
八、cp 复制命令
cp bb.txt cc.txt# 复制bb.txt并改名为cc.txtcp -r aa bb# bb不存在:复制aa目录为bb目录cp -r aa bb# bb已存在:把aa目录复制到bb目录里面
九、mv 移动/改名命令
目标目录不存在:mv 是改名
目标目录存在:mv 是移动
mv cc.txt aa# 将cc.txt移动到aa目录中mv cc.txt bb.txt# bb.txt不存在:cc.txt改名为bb.txt
十、文件权限三剑客
chmod 改权限、chown 改属主、chgrp 改属组
权限字母说明
r读:cat、less、more、nl、head、tailw写:vim、touchx执行:sh、bash
权限只对普通用户生效,root不受限制
chmod 修改权限
chmod 777 aa.txt# 文件所有用户读写执行权限全开chmod -R 777 example# 递归修改目录及内部所有文件权限chmod u+rwx aa.txt# 给属主加权限chmod u-rwx aa.txt# 给属主减权限chmod g+rwx aa.txt# 给属组加权限chmod g-rwx aa.txt# 给属组减权限chmod o+rwx aa.txt# 给其他用户加权限chmod o-rwx aa.txt# 给其他用户减权限chmod -R u+rwx aa# 递归给目录属主加权限
chown / chgrp
chown example aa.txt# 修改文件属主为examplechgrp example aa.txt# 修改文件属组为examplechown root.root aa.txt# 属主属组都改为rootchown example:example aa.txt# 属主属组都改为example
十一、用户与组管理
查看用户
cat /etc/passwd# 查看系统所有用户- 0 :root超级用户
- 1-499 :系统内置用户,不可登录
- 500及以上 :自定义普通用户,可登录
用户操作
useradd example1# 创建普通用户adduser example2# 创建普通用户passwd example1# 给用户设置密码userdel example2# 删除用户userdel -r -f example1# 强制删除用户+家目录useradd example2 -g example1# 创建用户并指定归属组groups example2# 查看用户所属组
组操作
groupadd aaa# 创建组cat /etc/group# 查看所有组gpasswd -a example2 aaa# 将用户加入组gpasswd -d example2 aaa# 将用户从组移除groupdel aaa# 删除组
十二、打包与压缩
1. tar 打包(无压缩)
tar -cvf aa.tar aa.txt# 打包tar -xvf aa.tar# 解压
2. tar.gz 压缩打包
tar -zcvf example.tar.gz example# 压缩打包tar -zxvf example.tar.gz# 解压
3. zip 打包
zip aa.zip aa.txt# 文件打包zip -r kk.zip example# 目录打包unzip aa.zip# 解压zip包
4. gzip 压缩(只能文件)
gzip aa.txt# 压缩,源文件消失gunzip aa.txt.gz# 解压
十三、rpm 软件安装
rpm -ivh jdk-8u121-linux-i586.rpm# 安装rpm包java -version# 查看是否安装成功
十四、scp 远程拷贝
- 拉取远程文件到本地
scp root@192.168.13.129:/xiaozhou.txt / - 推送本地文件到远程
scp /head_tail.txt root@192.168.13.129:/
十五、系统资源查看
磁盘
df# 查看磁盘使用df -h# 带单位人性化显示
内存
free# 查看内存free -m# 以MB为单位查看内存
进程
ps# 查看瞬时进程ps -ef# 查看所有进程ps aux# 查看所有进程详细信息ps -ef | grep 进程名# 过滤指定进程kill 进程id# 正常结束进程kill -9 进程id# 强制杀死进程
端口
netstat -nltp# 查看所有监听端口netstat -tpln | grep 22# 查看22端口lsof -i:22# 查看22端口占用进程
系统信息
top# 实时查看CPU、资源占用,ctrl+c退出who# 查看在线登录用户whoami# 查看当前登录用户hostname# 查看主机名getconf LONG_BIT# 查看系统位数du -sh# 查看目录总大小du -sh aa.txt# 查看文件大小
十六、开关机与服务
reboot# 重启shutdown now# 立即关机init 0# 关机service network restart,CentOS7推荐新写法systemctl restart network# 重启网卡/etc/init.d/sshd restart# 重启ssh服务
十七、文件传输工具
yum 在线安装
yum install lrzsz # 安装文件传输工具
rz / sz
rz# Windows传文件到Linux(适合0-500M)sz 文件名# Linux传文件到Windows
xftp
适合 500M以上 大文件跨系统传输
十八、Xshell 连接 Linux 步骤
- 打开 Xshell
- CentOS 执行
ifconfig查看IP - Xshell 输入
ssh IP地址 - 账号:root 密码:自己设置的密码
无法连接解决
service network restart重启网卡,CentOS7推荐新写法systemctl restart network/etc/init.d/sshd restart重启ssh服务- 重新连接
十九、软硬链接
软链接(快捷方式)
- 删除源文件,软链接失效
ln -s /aa.txt /hs# 创建软链接
硬链接(备份)
- 删除源文件不影响硬链接文件
ln -d /aa.txt /qqq# 创建硬链接
二十、其他常用命令
history# 查看历史输入命令clear# 清空屏幕reset# 重置清空屏幕