Linux常用命令
重要的常用命令
history 查看历史命令
sudo 管理员
date 查看时间
whoami 查看当前用户名
chown|chgrp 改变用户和改变组
---需要管理员root去修改文件归属
chown 用户组 文件名|目录
chgrp 组 文件名|目录
目录相关操作
cd change dir 更改目录
cd - 回到之前的目录
cd ~ 回到家目录
exit 普通用户
sudo su 切换到管理员目录
cd $HOME 切换到该环境变量指向的目录
pwd 显示当前目录
mkdir dir1[dir2] 创建子目录
mkdir -p dd/aa 创建dd子目录,并且创建该目录的aa子目录
tree 呈树状结构显示目录【下载:sudo apt-get install tree】
rmdir 删除目录【先删子目录,即:只删空目录】
rmdir -p 递归删除
rm -rf 文件夹 删除文件夹|文件
which 命令 查看命令所在位置【如 which ls】
Tab 命令补齐
文件
touch 创建文件
ls 查看文件信息
ls -l 查看详细信息
-a 显示隐藏文件或目录
-r 递归显示子目录的内容
-lrt 按照时间排序
rm 删除文件或目录
rm -rf * 删除当前目录所有【跑路】
cp 复制文件到指定目录
如果后面跟的是不是目录,那就把该文件复制到上级目录创建个文件,并把内容复制进来
mv 移动文件到指定目录
改变文件权限
chmod [u|g|o|a][+|-][r|w|x] filename
用数字的方式改变文件权限
给a.out用户可读可写,组可读可写,其他可读
chmod 0664 a.out
解释: r-- 100 4
-w- 010 2
--x 001 1
注意:目录的可执行权限就是:可以进入
文件内容
cat 查看文件内容
more 分页显示文件内容【回车,空格】
less 分页显示文件内容【回车,上下方向键】
head / tail 查看文件头 / 查看文件末尾【默认10行】
-n 5 显示5行
统计信息
tree 树形显示目录
wc 返回行数、单词数、字节数
-l -w -c
du 显示当前文件的信息【适合人类观看】
du -h --max-depth=1 查看当前文件大小
df -h 显示当前系统空间使用情况
文件权限和
文件权限操作
ls 查看文件信息
文件夹一般是4396
1 硬件统计数
aoce 用户
- rw- r-- r-- 文件类型:d 目录文件
归属用户的权限:
归属组的权限:
其他用户的权限:
r-- 可读
-w- 可写
--x 可执行
删除硬件连接 unlink :硬连接为0的话,这个文件就没有
文件类型
-
d 目录文件普通文件
l 符号连接
b 块设备
c 符号设备
p 管道设备 pipe
s 本地套接字(网络编程)
删除硬连接
快捷方式hello soft hello 磁盘块
hello.hard
hello.hard1
hello hello.hard hello.hard1 三个unlink后,该文件就不存在了
系统文件及作用
bin 系统可执行程序存放目录 /bin/
boot 内核和启动程序的相关文件都在此目录下
lib 库目录,主要存放系统最基础的动态共享库
media 挂载设备媒体,U盘,光驱等
mnt 该目录是为了让用户挂载别的文件系统
usr 庞大和复杂的目录,很多应用会安装到此目录
sbin 超级管理员的执行程序 root
proc 这个目录是系统内存的映射,会保留进程运行的一些信息
etc 系统软件的启动和配置目录
dev 设备文件所在目录
/etc/passwod 用户存放文件 man 5 passwod查看文件
/home/user
查找和检索文件
按文件名查找
find dir [option] 内容
find ./ -name "*.c"
按照类型查找
文件类型
-
d 目录文件普通文件
l 符号连接
b 块设备
c 符号设备
p 管道设备 pipe
s 本地套接字(网络编程)
find ./ -type f 查找本目录下所有普通文件
按大小查找
find ./ -size +1M 查找大于1M的文件
find ./ -size +1M -size -5M 大于1M小于5M的文件
不写【+|-】代表等于
-maxdepth 最深路径
find ./ -maxdepth -size +1M
find ./ -size +70w -exec ls -l {} ; 查找之后对文件执行ls -l 命令
find ./ -size +70w -exec -ok {} ; 比-exec安全一些,每一条指令都提示
find ./ -type 1|xargs ls -l
xargs find命令的好伴侣(超过一万不会溢出)---xargs将find查找的结果分成若干块输出给后面的指令
grep命令,内容过滤
grep [option] 内容 dir|filename
-r 递归子目录
-n 显示行号
find ./ -type f|grep txt find和grep结合使用
cat wold.c |grep main 查询wold.c文件含有mian的一行
tail -f tcpsvr.1705 |grep connect 分析日志
find ./ -type f|grep txt
grep "main" *.c 查找含有main字符串的.c文件
grep -rn "main" *.c 同时显示行数
结合cat使用
cat wold.c |grep main 查询wold.c文件含有mian的一行
grep -v 排除
压缩包
zip压缩命令
打包:zip -r 压缩包名.zip dir【dir.zip是包名】【dir代表原材料】【-r代表递归子目录】
解包:unzip dir.zip
gzip和gunzip
.gz
tar --最常用打包工具 .tar.gz
tar.gz打包[最常用]
tar zcvf 包.tar.gz 原材料
-c 压缩
-v 显示信息
-f 指定压缩名
-z gz格式压缩
tar [option] 压缩包名 原材料
解压:tar zxvf 压缩包
.tar.bzip2包
压缩:tar jcvf bb.tar.bzip2 原材料
解压:tar jxcvf bb.tar.bzip2
.rar
下载:sudo apt install rar
压缩:rar a -r newdir dir
解压:rar x newdir.rar
软件安装卸载
apt-get 自动安装软件,需要知道软件名称
sudo apt-get update 更新源 /ect/apt/sources.list
sudo apt-get install tree|rar 安装tree命令
sudo apt-get remove tree 卸载tree命令
sudo apt-get clean 清理包
dpkg 根据deb安装包来安装软件
sudo dpkg-ixxx.deb 安装软件包
sudo dpkg-rxxx.deb 移除软件包
源码安装
1.解压源代码包
2.cd dir[进入文件夹]
3../configure
检测文件是否缺失,创建Makefile,检测编译环境
4.make
编译源码,生成可执行程序
5.sudo make install
把库和可执行程序,安装到系统路径下
6.sudo make distclean
删除和卸载软件
用户管理
创建用户
sudo ./myadduser.sh yekai yekai/home/yekai/bin/bash
选项:
-s 指定shell
-g 指定组
-d 用户家目录
-m 家目录不存在时,自动创建
sudo useradd -s/bin/bash -g itcast -d/home/itcast -m itcast
设置用户组
sudo groupadd itcast 增加itcast用户组
设置密码
sudo passwd itcast
切换用户
su itcast 切换到itcast用户
su -itcast 切换到itcast用户,带有环境变量
root用户
sudo su
删除用户
sudo userdel itcast 删除用户
sudo userdel -r itcast 删除用户连带删除家目录
关机重启
shutdown -h now 立即关机
init 0 关机
poweroff 关机
reboot 重启
VIM的使用
掌握vim命令模式下相关命令的使用
掌握从命令模式切换到编辑模式的相关命令
掌握vim末行模式下相关命令的使用
能够说出gcc的工作流程和掌握常见参数的使用
熟练掌握Linux下的静态库的制作和使用
熟练掌握Linux下的共享库的制作和使用
vim的使用
vi与vim -->vim是vi的增强版
设置vim作为默认的文本编辑器
帮助文档:vimtutor
移动光标
h 左
j 上
k 下
l 右
或则方向键
行首 0
行尾 Shift + 4
gg 文件开头
GG 文件结尾
num + G 跳到指定位置
删除内容
x 删除光标所在字母
u 撤销
Ctrl + u 反撤销
X 删除光标前一字母
dw 删除单词
d + $ 删除到行尾处
d + 0 删除到行头部
D 删除到行尾处
dd 删除光标所在行
Esc 切换到命令模式
i 切换到编辑模式
:wq 保存并退出
:q 退出
vim复制粘贴
yy 复制一行内容
dd 剪切一行内容
nyy 复制n行内容
p/P 粘贴(注意位置)
r 替换一个字母 r + 字母
可视模式
v 进入可视模式
y 复制
p 粘贴
查找
/a 从上往下查找a
n 查找下一个
N 查找上一个
?a 从下往上查找a
格式化
gg=G 格式化
当前光标所在行向右移一个tab << 移动光标开始n行右移一个tab n>> 光标开始n行向右移动一个tab man帮助查看 K
模式切换
a,ios 编辑模式
i 在光标前插入
a 在光标后插入
l 在行首插入
A 在行尾插入
esc 命令模式
o 下一行插入
O 上一行插入
s 删除当前字母变为插入模式
S 删除当前行,进入插入模式
- 末行模式
-
进入末行模式
esc 进入命令模式
:!ls -l 执行ls -l 命令
😒/jack/jackson 替换【把jack替换成jackson,只改当前行的第一个匹配】
😒/jack/Tom/g 替换所有jack为Tom
:%s/jack/Tom/ 找到每一行的第一个匹配替换
:w 保存
:wq 保存并退出
:q 退出
:q! 强退
:x 保存退出
ZZ 保存退出【命令模式下】
:sp 文件名 横分屏打开文件
ctrl ww 切换分屏
:q 退出
:qall 全部退出
:wqall 全保存退出
:vsp 竖屏打开文件分屏
vim设置
/home/user/.vimrc 本用户的配置文件
/etc/vim/vimrc 系统vim配置文件
set -o vi 在系统环境设置此项,可以在当前shell环境下使用vim快捷键