开发中难免需要使用Linux,以下为其使用小结,供自己后面查阅方便。
首先需要安装两个工具,安装地址如下:
VMware下载地址:https://www.vmware.com/cn/products/worstation-pro.html
FinalShell下载地址:http:www.hostbuf.com/downloads/finalshell_install.exe
1、目录
根目录
Linux只有一个根目录 /
Linux命令行打开默认进入的当前工作目录即用户家目录(当前用的Home目录)
路径
绝对路径:以根目录为起点 描述路径的一种写法,路径以 / 开头
相对路径:以当前目录为起点 描述路径的一种写法 路径不用以 / 开头
特殊路径符
. 代表当前目录
.. 代表上一级目录 cd .. 代表切换至上一级目录 cd ../.. 代表返回上两级目录
~ 代表HOME目录
2、指令
命令(必填) 选项(选填) 参数(选填)
ls查看当前目录
ls 查看当前目录下所有文件与文件夹
ls -a -l h
-a 展示所有目录
-l 列表形式展示目录以及目录的其他信息
-h 展示目录的大小 但是需要与 -l搭配使用 : ls -lh
-a 与 -l也可搭配使用:ls -al 或者 ls -la
cd 切换工作目录
语法:cd 路径
cd 什么都不加 默认进入当前HOME目录
pwd 查看当前工作目录
mkdir 创建目录
语法 mkdir [-p] linux路径
参数 路径为必填 可用绝对路径 也可用相对路径
-p 可选,自动创建不存在的父目录,用于创建多层级的目录
注意:创建修改目录存在权限操作 不要在HOME目录外创建目录
touch 创建文件
语法:touch linux路径
cat命令 查看文件内容
语法:cat linux路径
more命令查看文件内容
语法:more linux路径
区别:
cat是直接给文件内容全部显示出来
more是支持翻页 如果文件内容过多 支持一页一页查看,查看过程中 通过空格进行翻页 通过q退出查看
cp 命令复制文件文件夹
语法: cp [-r] 参数1 参数2
-r 选项,可选 用于复制文件夹使用 表示递归
参数1 linux路径 表示被复制的文件或文件夹
参数2 linux路径 表示要复制去的地方
mv 命令移动文件或文件夹
语法: mv 参数1 参数2
参数1 linux路径 表示被移动的文件或文件夹
参数2 linux路径 表示要移动去的地方 如果目标不存在 则进行改名
rm 命令删除文件或文件夹
语法:rm [-r -f] 参数1 参数2 ... 参数n
-r 用于删除文件夹
-f 用于强制删除(一般用于root用户 root删除文件的时候会有提示 如果加上-f则直接删除 普通用户删除也没提示)
参数表示需要删除的文件或文件夹路径
rm 支持通配符 * 进行模糊匹配
su 命令 切换用户
su - root(用户名)
输入密码 可进行用户的切换
exit 命令为退回普通用户登录
which 命令查找命令存放位置
语法:which 要查找的命令
find 命令 按文件名查找文件
语法:find 起始路径 -name "被查找的文件名"
查找文件也可使用 * 通配符进行模糊匹配
find 命令按文件大小查找文件
语法:find起始路径 -size +|-n[kMG] 如:find / -size -10k (查找根目录下小于10k的文件,-代表小于 +代表大于)
grep 命令 进行过滤数据
语法:grep [-n] "关键字" 文件路径
-n 可选 表示在结果中显示匹配的行的行号
wc 命令 做数量的统计
语法:wc [-c -m -l -w] 文件路径
-c 统计bytes数量
-m 统计字符数量
-l 统计行数
-w 统计单词的数量
| 管道符
管道符含义:将管道符左边命令的结果 作为管道符右边命令的输入
echo 命令 输出指定内容
语法:echo 输出的内容(若内容比较复杂 建议使用双引号包围起来)
反引号’‘
echo 'pwd' 会将飘号中的内容当做命令来执行 而不是当做单纯的字符输出
重定向符 > 与>>
>:将左侧命令的结果覆盖写入右侧的文件中(覆盖指将原文件的内容清空)
>>:将左侧命令的结果追加到右侧的文件中
语法如:echo "Helo Linux" > test.txt (覆盖) 或 echo "Helo Linux" >> test.txt (追加)
重定向符 左侧只要是能输出结果的命令 都可以使用
tail 命令 可查看文件尾部内容
也可跟踪文件的最新更改
语法如:tail [-f -num] linux路径
-f: 表示持续跟踪
-num: 表示查看尾部多少行 默认查看10行
linux路径:表示被跟踪的文件路径
vi/vim 命令编辑文件
(vim兼容vi所有功能 并进行了加强 后续全部使用vim即可)
语法:vim 文件路径
vim 存在三种模式 命令模式、输入模式、底线模式
文件如果不存在 则创建新的文件供编辑使用
若文件存在 则编辑存在的文件
vim 编辑的文件文件路径
后首先进入的是命令模式 输入i 即可进入输入模式
输入需要编辑的内容 按ESC按键即可退出输入模式 再次进入命令模式
输入: 即可进入底线模式 输入wq 即可保存并退出 vim
命令模式下常见快捷键:
i:在当前光标位置进入输入模式
a:在当前光标位置之后进入输入模式
I:在当前行的开头进入输入模式
A:在当前行的结尾进入输入模式
o:在当前光标下一行进入输入模式
O:在当前光标上一行进入输入模式
esc: 在任何情况下输入esc 都能回到命令模式
/ :进入搜索模式 可在/后输入内容
n:继续向下搜索
N: 继续向上搜索
dd:删除光标当前所在行
yy:复制光标当前所在行
p:复制当前粘贴的内容
u:撤销修改
底线模式下快捷键
:wq 保存并退出
:q 仅退出
:q! 强制退出
:w 仅保存
:set nu 显示行号
:set paster 设置粘贴模式
3、Linux 用户与权限
su 与 exit 命令
语法:su [-] 用户名
-符号是可选的 表示是否在切换用户后加载环境变量,建议带上
参数 用户名 表示需要切换的用户 用户名也可以省略 省略表示切换到root用户
切换用户后 可以通过exit命令退回到上一个用户 也可以使用快捷键 ctrl + d
使用普通用户 切换到其他用户 需要输入密码
使用root用户 切换到其他用户 不需要输入密码
sudo命令 可临时获得root权限
语法:sudo 命令
为普通用户配置sudo认证
切换到root用户 执行visudo命令 会自动通过vi编辑器打开:/etc/sudoers
在文件最后添加
用户名 All = (ALL) NOPASSWD: ALL 如:it All = (ALL) NOPASSWD: ALL
其中NOPASSWD: ALL 表示 使用sudo命令时 无需输入密码
最后使用:wq保存退出
Linux用户管理模式
linux管控单元是用户级别与用户组级别
用户、用户组相关管理命令
groupadd 添加组 groupdel 删除组
useradd 添加用户 userdel 删除用户
usermod 修改用户组 id命令查看用户信息
getent passwd 查看系统全部用户信息
getent group 查看系统全部组信息
文件、文件夹权限信息一共10个槽位
1 2 3 4 5 6 7 8 9 10
d r w x r - x - - x
第 1 位代表文件的类型:-代表文件 d代表文件夹 l代表软链接
权限分别由 r w x 组成 (r代表读 即可进行ls操作,w代表可修改文件,x代表可执行文件 即可进行 cd命令操作)
第2、3、4位代表所属用户的权限
第5、6、7位代表所属组的权限
第8、9、10代表其他用户的权限
chmod 命令 修改文件、文件夹的权限信息
注意:只有文件、文件夹的所属用户或root用户可以修改
语法:chmod [-R] 权限 文件或文件夹
-R :对文件夹内的全部内容应用同样的操作
如:chmod u=rwx,g=rx,o=x hello.txt 权限即为:rwxr-x--x
chmod -R u=rwx,g=rx,o=x test
数字简便表示的时候,r= 4 w=2 x=1
751 即代表:rwx r-x --x
如上方即可为:chmod 751 hello.txt
chown 命令 修改文件、文件夹的所属用户和用户组
普通用户无法修改所属为其他用户或组 此命令只适用于root用户执行
语法:chown [-R] [用户] [:] [用户组] 文件或文件夹
-R 同chmod 对文件夹内全部内容莹莹相同规则
选项 用户 修改所属用户
选项 用户组 修改所属用户组
:用于分隔用户和用户组
如下示例:
chown root hello.txt 将hello.txt 所属用户改为root
chown :root hello.txt 将hello.txt 所属用户组修改为root
4、各类小技巧(快捷键)
ctrl + c 强制停止
ctrl + d 退出登录
history 查看历史输入过的命令 history | grep ls (可过滤ls开头的命令)
ctrl + r 历史命令搜索
ctrl + a 调到命令开头
ctrl + e 跳到命令结尾
ctrl + 键盘左键 向左跳一个单词
ctrl + 键盘右键 向右跳一个单词
ctrl + l 可以清空终端的内容 (通过命令clear 也可以)
yum 命令 RPM包软件管理器 用于自动化安装配置Linux软件 并可自动解决依赖问题
语法: yum [-y] [install | rmove | search] 软件名称
-y 自动确认 无需手动确认安装或卸载过程
install:安装
remove: 卸载
search: 搜索
yum命令需要root权限 使用此命令需要联网
systemctl 命令 控制内置或第三方软件服务 启动、关闭、开机自启动
语法:systemtcl start | stop | status | enable | disable 服务名
start: 启动
stop : 关闭
status : 查看状态
enable : 开启开机自启
disable : 关闭开机自启
ln 命令 创建软链接
语法:ln -s 参数1 参数2
-s : 创建软链接
参数1 : 被链接的文件或文件夹
参数2 : 要链接去的目的地
data 命令 查看日期时间 并可格式化时间形式以及做日期计算
语法:data [-d] [+格式化字符串]
%Y 年
%y 年份后两位数字
%m 月份
%d 日
%H 时
%M 分
%S 秒
%s 自1970-01-01 00:00:00 到现在的秒数
-d 完成时间的计算 其中支持的时间标记为:year(年) month(月) day(天) hour(时) minute(分) second(秒)
ping 命令 检测服务器是否联通
语法如:ping [-c num] ip或主机名
-c num 表示连接的次数
wget 命令进行网络文件下载
语法:wget [-b] url
-b 代表后台下载
curl 命令 可发起网络请求
语法:curl [-o] url
-o :若加此选项 则代表下载文件
查看端口占用情况
使用nmap命令 查看指定ip对外暴露的端口 使用此命令需要进行安装: yum -y install nmap
语法:namp 被查看的ip地址
使用netstat命令 查看指定端口的使用情况,安装:yum -y install net-tools
语法:netstat -anp|grep 端口号
查看进程
语法:ps -ef
查询出来的信息 从左到右含义为:
UID:进程所属的用户id
PID:进程的进程号
PPID:进程的父ID
C: 此进程的CPU占用率
STIME:进程的启动时间
TTY:启动此进程的终端序号,若显示?则表示非终端启动
TIME:进程占用CPU时间
关闭进程
语法:kill [-9] 进程id
-9 表示强制关闭进程
查看系统资源占用
top 命令 每隔五秒刷新一次
rz(上传)、sz(下载) 命令 进行文件的传输
命令需要安装:yum -y install lrzsz
语法:上传 直接输入 rz 会弹出文件选择框
下载;sz 文件
使用finalshell直接拖拽 更方便
压缩解压
tar命令
tar 命令压缩常用组合
tar -cvf test.tar 1.txt 2.txt 3.txt (将1.txt 2.txt 3.txt 压缩到 test.tar文件内)
tar -zcvf test.tar.gz 1.txt 2.txt 3.txt (将1.txt 2.txt 3.txt 压缩到 test.tar.gz文件内)
注意:-z 选项一般放在选项位开头
-f 选项必须放在选项位最后一个
tar 命令解压缩 常用组合
tar -xvf test.tar
tar -xvf test.tar -C /home/it (解压tar文件至指定目录)
tar -zxvf test.tar.gz -C /home/it (解压gz文件至指定目录)
注意:-z 选项一般放在选项位开头
-f 选项必须放在选项位最后一个
-C 选项单独使用 和解压所需的其他选项分开
zip命令
zop 命令压缩文件
语法:zip [-r] 参数1 参数2 参数3...
-r 选项 被压缩文件含有文件夹的时候 需要使用-r
如:zip test.zip 1.txt 2.txt 3.txt
zip -r test.zip test 1.txt 2.txt
unzip 命令解压文件
语法:unzip [-d] 参数
-d 指定要解压去的位置 如同tar命令中的-C
参数 指要被解压的zip压缩包文件
如: unzip test.zip
unzip test.zip -d /home/it
5、实战
软件安装文件在百度网盘