Linux常用命令总结

———————————————————————————————__
根目录结构介绍:
ls -l 以列表形式展示
cd 切换目录 ls 目录下的文件列表 pwd 查看当前目录

/ 根目录
/bin 大多数操作命令
/boot 系统启动相关文件
/cdrom 挂载光盘
/dev 设备文件(在linux下一切设备皆文件)
/etc 配置文件目录
/home 普通用户家目录,每个用户对应一个文件夹
/root 超级用户目录
/lib 库文件
/lib64 64位库文件
/lost+found 系统出现异常时保存信息以便恢复,平时是空的
/media 自动识别设备挂载点
/mnt mount,专门用于挂载的目录
/opt option,用于安装可选的软件
/proc 虚拟的文件系统,映射硬件信息
/run 存放系统运行时的文件,如:进程文件
/sbin 超级用户使用的命令
/snap ubuntu自己搞的包管理系统
/srv service,存储本机提供的数据或服务
/sys 类似于proc的虚拟文件系统,可以映射内核信息
/tmp 保存随时可能销毁的临时文件
/usr 之前的功能同/home,现在是unix system resource
/var 系统产生的不能自动销毁的文件


VIM编辑器
简介:vi是系统自带的终端编辑器,后来有了vi加强版“vim”
安装:sudo apt-get install vim

工作模式:
1.正常模式(命令模式):使用vim打开文件的默认模式
vim 文件名 打开/新建一个文件
Esc 切换到正常模式
ZZ 保存退出
!v 打开最近一次vim打开的文件
gg 定位到首行
G 定位到尾行
ngg 定位到第n行
0零 定位到开头,无论开头有没有空格
^ 定位到首字符
$ 定位到行尾
ctrl+f 下翻一屏
ctrl+b 上翻一屏
ctrl+d 下翻半屏
ctrl+u 上翻半屏

x 向右删除一个
nx 向右删除n个
X 向左删除一个
nX 向左删除n个

yy 复制光标所在的一行
nyy 复制光标开始向下的n行
p 粘贴在光标所在行的下面一行

dd 删除当前光标所在行(剪切)
ndd 删除从光标开始向下的n行

u 撤销前一次的编辑操作
ctrl+r 取消撤销操作

2.输入模式:可以完成文件内容的输入编辑,输入以下字符进入此模式:
i 在当前光标所在字符的前面插入文本
I 在当前光标所在行的行首插入文本,若果行首有空格则在空格 之后插入
a 在当前光标所在字符的后面插入文本
A 在当前光标所在行的行尾插入文本
o 在当前光标所在行的下方新建一行并转为输入模式
O 在当前光标所在行的上方新建一行并转为输入模式
s 删除光标所在的字符并开始插入 ( ns 删n个字符)
S 删除光标所在行并开始插入
r 替换一个字符
R 替换多个字符

3.单行模式(编辑模式):可以完成文件的整体编辑保存等操作,输入":"即可。(按两次Esc退出此模式)
:q 退出当前文件
:q! 丢弃所有修改并强制退出
:e! 放弃所有修改恢复到打开时的状态
:wq 保存并退出
:w 保存
:w! 强制保存
:x 保存退出
:w 文件名 另存为

:set nu 显示行号
:set nonu 隐藏行号
:set tabstop=4 tab键缩进4格
:set mouse=a 启动鼠标点击功能
:set hls 高亮查找的内容
说明:默认使用vim打开文件后的设置是单次的,关闭后就失效了
用户家目录下创建文件.vimrc
写入上面的配置
终端输入:source ~/.vimrc (~是家目录,针对当前用户)

:/内容	查找指定内容,n下翻,N上翻

: / ?内容 n上翻,N下翻

:%s/原内容/新内容/ 替换,只替换每行的第一处
:%s/原内容/新内容/g 全替换
:m,ns/原内容/新内容 m到n行,替换每行第一处
:n 光标定位到n处

同时打开多个文件:
vim FILE1 FILE2 FILE3
:next 切换至下一个文件
:prev 切换至前一个文件
:last 切换至最后一个文件
:first 切换至第一个文件
:qa 全部退出

非正常关闭vim,可能产生临时交换文件,用于恢复等操作,再次打开是会出现特定页面引导进行恢复等相关操作。可以根据提示删除交换文件即可。临时文件不可见,(ls -a) 可以看到隐藏文件,(rm 文件名 )删除文件


help使用
说明:大多数命令都有 --help参数用来查看帮助文档
例:ls --help 可以看到 ls 命令的帮助文档

man使用
简介:man是manual的缩写,可以查看系统标准帮助文档
使用:man <指定内容>
例:man name 查看指定内容(命令,函数,系统调用)的帮助文档
q 退出查询
↓ 或Enter 下翻一行
↑ 上翻一行
pgup 上翻一页
pgdn或空格 下翻一页
?内容 查找,可以上下翻

——————————————————————————————
文件操作
命令格式:命令 【选项】 【参数】:ls -l /etc
ls : 查看指定目录的内容,不指定目录时查看当前目录
常识命令:
-l 列表显示更多信息
-a 显示所有文件,包括隐藏文件(以 . 开头的文件)
-h 人性化的显示,如:ls -lh
ls -l 显示结果说明:类型权限 | 引用数 | 用户 | 用户组 | 大小 | 时间 | 文件名
文件类型:
- 普通文件
d 目录文件
l 链接文件
c 字符设备
d 块设备文件
s 套接字文件
p 管道文件

cd : 切换工作目录 pwd : 查看当前目录 (切换到当前目录下的指定目录
直接 cd 目录名)
. 当前目录
… 上级目录

  •     上次切换之前的目录
    

~ 当前用户的家目录
/ 根目录
不指定目录默认回到家目录,凡是以“/”开头的目录都是绝对目录
以“ . ”或“ … ”开头的目录都是相对目录

alias : 给命令起别名 unalias:取消命令别名

在终端查看文件内容:
cat 文件名 从上到下显示文件全部内容
nl 文件名 同cat,会显示行号
tac 文件名 从下到上显示文件内容(倒过来)
head -20 文件名 查看开头指定行数的内容,默认【10行】
tail 文件名 查看末尾指定行数的内容,默认【10行】
wc 文件名 统计内容:行数 | 单词数 | 字符数 | 文件名
more — /一点一点查看内容显示一屏就停止,q退出
less — enter下翻一行,空格下翻一屏,more查看结束会自 动退出,less可以用上下按钮翻看一行
/
ls /etc | more

文件及目录
touch 新建文件,可以一次性创建多个
rm 删除文件,删除目录加 -r (rm -r 目录)
cp 拷贝文件,拷贝目录需要添加 -r 选项
mv 移动文件
mkdir 新建目录
rmdir 删除目录,只能删除空目录
-r 删除拷贝目录时需要添加表示递归操作
-f 表示强制操作,没有提示信息
-* 表示模糊匹配 【rm *.txt】:删除所有txt文件
-p 创建目录时若需要创建中间目录,需要添加

用户及用户组
–如果之前没有设置过超级用户密码的话
–需要使用sudo passwd root
whoami 查看当前登陆的用户名
useradd 新加用户,-d指定家目录,-m创建家目录,-s指定shell解析器
userdel 删除用户,-r可以删除用户相关的目录(家目录、邮件目录)
passwd 设置指定用户密码,不指定用户时设置当前用户的密码
su - 切换用户。加上“-”不但能切换用户,还可以切换环境,不指
定切换的用户时,默认切换到root(需要提前设置密码)
sudo 以指定用户(root)身份执行命令
visudo 专门用来编辑/etc/sudoers文件命令,test ALL=(ALL:ALL)ALL
修改默认编辑器:sudo update-alternatives --config editor
groupadd 新建用户组
groupdel 删除用户组
gpasswd 向指定用户组添加/删除指定用户
gpasswd -a/-d 用户(user) 用户组(group)
groups 查看指定用户的组信息
cash 修改指定用户的shell解释器,如: sudo chsh test -s/usr/sbin/nologin(禁止登录)
chgrp 修改指定文件所属组 如:sudo chgrp(用户组)(文件)
chown 修改文件所有组(及所属组)如:
sudo chown jerry[:jerry]33.py, -R表示递归修改

涉及文件和名词:
/etc/passwd: 系统中的用户信息
/etc/group: 系统中的用户组信息
/etc/shadow: 系统用户的密码信息
uid:用户唯一身份的密码信息
gid:用户组唯一身份标识

文件权限
文件都涉及权限,分为三组:所有者、所属组、其他用户
权限:可读(r)可写(w)可执行(x)
修改权限:chmod , 格式: chmod [身份][操作][权限] 文件
身份————————
u 所有者(user)
g 所属组(group)
o 其他人(other)
操作————————
+ 添加
- 删除
= 设置
权限————————
r 读
w 写
x 执行
不加身份就都加权限 例 sudo chmod o+x 33.py 给33.py文件的其他用户添加可执行权限
本质:使用一组(3位)8进制的数来表示权限,如:
0755展开:0755 => 111 101 101
u g o
第一组权限:包括读写执行,1表示拥有,0表示没有

链接文件
命令: ln
作用: 创建一个文件或目录的链接
格式: ln [-s] 源文件 新文件
硬链接:创建时不加 -s ,不能给目录创建
软连接:加-s ,相当于Windows中的快捷方式,可以给目录创建,可以跨文件系统

文件搜索
find:任意文件的搜索 格式:find 目录 条件
-name :指定名字 suduo / -name passwd
-maxdepth:指定最大层级深度,如: sudo find / -maxdepth 3 -name passwd
-type:指定类型(d/l/s/p/c/b)
-size:指定大小,单位:k/M/G,+大于,-小于,如find . -size +5k
-user:指定用户
-group:指定组
-

grep:正则表达式搜索
-i 忽略大小写
-n 显示行号
grep -n /bin/bash /etc/passwd 在/etc/passed中查找包 含/bin/bash的行并显示行号
grep -i abc 11.py 在11.py文件中忽略大小写的查找
ls /bin | grep ‘^m’ 查找/bin下以m开头的文件


解压缩:

zip/unzip 文件后缀zip
压缩:zip xxx.zip *.txt
解压:unzip xxx.zip
gzip/gunzip 文件后缀gz
压缩: gzip 1.txt 生成1.xt.gz并删除原文件
解压: gunzip 1.txt.gz(gzip -d 1.txt.gz)
bzip2/bunzip2, 文件后缀bz2
压缩: bzip2 1.txt 生成1.txt.bz2
解压: bunzip2 1.txt.bz2 -k(保留原压缩包)

tar 打包,后缀 tar
选项:
-c: 创建新文件
-x: 解包
-t: 查看包(不解包)
(以上不能同时使用)
-f:指定操作文件
-v:显示相关信息
-z: 调用gzip/gunzip进行解压缩
-j: 调用bzip2/bunzip2
-c: 执行解压位置
tar -cvf 12.tar 1.py 2.py --将两个py文件打包成12.tar
tar -tf 12.tar --查看包中的内容
tar -xvf 12.tar --解包
tar -zcvf 12.tar.gz 12.tar --将12.tar压缩成12.tar.gz
tar -jcvf 12.tar.bz2 12.tar --压缩成12.tar.bz2
tar -zcvf 123.tar.gz *.txt --exclude 3.txt --除了3.txt都打包并压 缩成123.tar.gz

.tar.gz      简写为:  .tgz        
.tar.bz2    简写为:  .tbz2 或 .tbz

———————————————————————————————
ifconfig 查看配置网卡,windows是:ipconfig
ping 检查网络连通性
ifup 启动网卡
ifdown 关闭网卡
网络服务: sudo service networking start|stop|restart

服务检测:
netstat
– 查看网络端口占用情况 示例:netstat -tunp1
free
– 查看内存使用效果 -h人性化显示
w
– 查看系统正在做的事
top
– 是w的详细信息,3s刷新一次,q 退出
第一行:与w相同
2 任务信息
3 CPU信息
4 内存信息
5 交换分区
6 系统进程信息

———————————————————————————————
进程管理:
ps
–查看进程信息。 ps -ef ps aux
kill
–强制杀死进程 。 kill -9 PID
———————————————————————————————————
远程连接:(ssh:22)
–远程连接服务器,可以完全操控,图形界面的ubuntu默认没有提供ssh服务,安装:sudo apt-get install openssh-server
sudo service sshd start 开启
sudo service sshd stop 关闭
putty/xshell等工具,类unix平台可以直接使用 : ssh user@host
配置文件:/etc/ssh/sshd_config 修改配置后需要重启服务才能生效
———————————————————————————————————
软件安装
apt-get: 无需复杂的环境依赖
install: 安装
remove: 卸载
update: 更新软件包的列表信息
upgrade : 进行一次更新
更换软件源:()
备份: cp /etc/apt/sources.list /etc/apt/sources.list.backup
新建: sudo vim /etc/apt/sources.list
添加: 复制粘贴阿里、清华镜像源对应版本内容
更新: sudo apt-get update

  dpkg 安装:文件后缀.deb,需要依赖其它软件包
	-i:安装
	-r:卸载
	-l:查看软件包信息
	-L:查看软件安装目录	
     --------依赖关系问题,仍未被配置   使用如下命令,sudo apt-get install -f

源码安装:需要对源代码文件进行编译,然后安装
配置:configure
编译:make
安装: make install
命令执行:cmd1;cmd2 --cmd1执行完执行cmd2
cmd1|cmd2 --cmd1执行失败才执行cmd2
cmd1&&cmd2 – cmd1成功才执行cmd2
make && make install
.pl 文件用perl 或者 ./文件.pl
———————————————————————————————————
系统服务

防火墙(ufw)
安装:sudo apt-get install ufw
默认允许/禁止:sudo ufw allow/deny
查看状态: sudo ufw status
开启防火墙:sudo ufw enable
关闭防火墙:sudo ufw disable
–允许禁止服务: sudo ufw allow|deny 服务|port
例: sudo ufw deny ssh
–移除规则: sudo ufw delete deny ssh

管道(xargs)
管道:将前面命令的输出作为后面命令的输入参数。ls /bin | grep ‘^m’
xargs : 有些命令无法接收管道采纳数,可以通过xargs解决
find -name 1.sh | xargs rm -rf

重定向:
三个数据流:标准输入:stdin 标准输出:stdout 标准错误: stdeer
启动任意程序系统自动创建上面的三个数据流,其实就是三个文件
三个文件的描述分别是:0、1、2 ,都指向终端
重定向就是改变原来的表现位置
输出重定向
ls > 1.txt 将ls的输出结果保存到1.txt中,会新建文件,存在则清空
ls >> 1.txt ls的输出结果追加到1.txt,文件不存在则创建
错误重定向:
ls /xxx 2> 2.txt 将错误信息保存到2.txt
———————————————————————————————————|
shell
–将终端下编写的命令等保存到文件中,成为shell编程
类型:ash 、bash 、 csh 、 ksh
系统查看shell解析器: echo $SHELL
当前系统可以shell解析器: /etc/shells 文件
shell脚本的执行:
指定shell解析器执行指定脚本: bash hello.sh
将shell脚本作为可执行文件,必须添加可执行权限
–添加可执行权限:sudo chmod +x world.sh
–在脚本开头指定shell解析器: #! /bin/bash
–执行脚本:
:在当前目录:./world
: 不在当前目录:/home/fdy/shell/world.sh
shell变量:
–变量定义: name=‘fdy’ #=两边没空格
–打印变量: echo $fdy 或 echo ${fdy}
–销毁变量: unset fdy
–声明常量: readonly fdy 只读变量不能修改

perl脚本:.pl 脚本文件用perl 或者 ./文件.pl

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值