文章目录
- linux常用指令
- linux基础指令
- ls 目录信息
- cd 改变工作路径
- rm 删除
- cp 复制
- mv 移动
- cat 连接输出
- top 显示进程
- pwd 输出工作目录路径
- 显示CPU信息
- sleep 睡眠
- mkdir 创建路径
- tree 目录树状图
- touch 修改时间戳
- nautilus 文件管理器
- ifconfig 网络设备
- df 磁盘使用
- chmod 权限管理
- 快捷键
- 终端(Terminal)
- 文件管理器(nautilus)
- 工作常用指令
- 切换Java版本
- 分割大文件
- 对split的文件进行解压
- 创建压缩文件
- 解压缩文件
- 获取cpu核心数
- 统计文件数量
- find 查找文件
- du查看文件目录大小
- grep 查找文件内容
- xargs 命令
- 批量重命名
- 批量修改内容
- bcompare过期
- 创建ssh连接
- 上传文件
- 下载文件
- 启动VNC服务
- VNC复制粘贴
- VNC复制粘贴
linux常用指令
以下内容均为日常工作中可能经常使用的命令,还有很多缺陷,欢迎大家沟通交流。
linux基础指令
ls 目录信息
ls -[a/A/r/t/S/h/l] [path]
a: 列出目录所有文件,包含以.开始的隐藏文件
A: 列出除.及…的其它文件
r: 反序排列
t: 以文件修改时间排序
S: 以文件大小排序
h: 以易读大小显示
l: 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
cd 改变工作路径
cd [path]
/: 根目录,~: home,-: 上一次工作目录
rm 删除
rm [path] -[f/r/d/i]
f: 强制执行,r: 递归的删除文件夹及内容,d: 删除空文件夹,i: 删除前提示
cp 复制
cp [source_path] [target_path] -[i/r/a]
复制文件(夹),i: 复制前提示,r: 递归的复制文件夹及内容,a: 保留源文件的时间戳
mv 移动
mv [source_path] [target_path]
移动文件(夹),也可以用来重命名
和cp类似,但是执行完会删除[source_path]
cat 连接输出
cat [path]
输出文件内容
cat > [path]
键盘输入内容到指定文件中(以换行符写入,ctrl+c结束)
top 显示进程
top
显示正在活动的进程
如果hi(硬中断), si(软中断), st很小,表示没有比较消耗资源的进程或服务
pwd 输出工作目录路径
pwd
pwd -P 输出软链接的实际路径
显示CPU信息
cat /proc/cpuinfo
显示CPU info的信息
sleep 睡眠
sleep [time]
睡眠(可使用s, m, h等单位,默认单位s)
一般用于当服务器有人在使用,需要排队的情况,例如晚上编译正式版本
mkdir 创建路径
mkdir [path]
创建路径(mkdir -p 创建目录树)
tree 目录树状图
tree [path]
显示文件和目录树形结构
touch 修改时间戳
touch [path]
更新文件的时间戳(一般用于修改文件后,确保remake会编译到)
nautilus 文件管理器
nautilus [path]
启动nautilus(文件管理器),进入指定路径
ifconfig 网络设备
ifconfig
显示网卡信息(inet address:xxxx表示IP地址)
df 磁盘使用
df -[a/h/i/k/l/T]
显示磁盘空间使用情况
a: 全部文件系统列表
h: 以方便阅读的方式显示信息
i: 显示inode信息
k: 区块为1024字节
l: 只显示本地磁盘
T: 列出文件系统类型
chmod 权限管理
chmod [mode] [path]
修改文件权限(chmod -r 处理文件夹)
权限类型分为rwx,分别为可读,可写,可执行
文件权限区分不同的组,-rwxrwxrwx,依次为UGO(u: 文档拥有者,g: u所属group,o: ug以外)
快捷键
终端(Terminal)
CTRL+C: 杀死当前进程
CTRL+L: 清屏
CTRL+W: 清除光标至前一个空格的内容
CTRL+U: 清除光标至行首间的内容
CTRL+K: 清除光标至行尾间的内容
CTRL+R: 定位最近执行的指令
CTRL+A:光标回到行首
文件管理器(nautilus)
CTRL+H: 切换显示/隐藏文件
CTRL+L: 路径切换为可编辑
CTRL+I: 打开文件属性
CTRL+W: 关闭当前table/窗口
CTRL+T: 新建table
CTRL+F: 查找文件
工作常用指令
切换Java版本
update-alternatives --config [java/javac/...]
分割大文件
split -b 100M -d -a 2 [BIG_FILE] [BIG_FILE].
对split的文件进行解压
cat tmp.tar.gz* | tar -zxv -C [path]
可类比进行其他操作
创建压缩文件
tar -zcvf [target] [resource]
解压缩文件
tar -zxvf [resource]
获取cpu核心数
cat /proc/cpuinfo | grep "^processor" | wc -l
grep "^processor"用于筛选已processor开头的input,wc -l用于统计input行数
统计文件数量
ls -lR [path] | grep "^-" | wc -l
find 查找文件
find [path] -iname [pattern] -type [d/f]
查找符合的文件或路径(type用来指定是文件还是路径,i表示忽略大小写)
du查看文件目录大小
du -h --max-depth=1
命令将显示当前目录下所有一级子目录的大小
grep 查找文件内容
grep -[nril] [pattern] [path] --include=[pattern] --exclude=[pattern] --exclude-dir=[pattern] --exclude-from=[pattern]
查找文件内容
n:所属行,r:所属文件,i:忽略大小写,l:仅输出文件名
–include=: 包含的文件或路径,–exclude=: 排除的文件或路径
–exclude-dir=: 排除的文件夹,–exclude-from=: 排除的文件
xargs 命令
xargs 一般是和管道一起使用:
somecommand |xargs -item command
删除所有,git :
find -name .git | xargs rm
批量重命名
find -name *[origin]* | tac | rename -vf 's/[origin]/[destination]/g'
路径中存在多个origin会有问题,需要单独处理,建议find可以先指定folder,在指定file,两次执行
tips: 该指令可用于基于某项目创建新项目后,统一修改文件名
批量修改内容
find -type f | xargs sed -i 's/[origin]/[destination]/g'
sed -i 's/[origin]/[destination]/g' `grep "[origin]" -rl`
查找并替换
tips: 该指令可用于基于某项目创建新项目后,统一修改文件内容
bcompare过期
rm -rf \~/.config/bcompare/registry.dat
解决bcompare过期问题
创建ssh连接
ssh user@host(eg: ssh server@192.168.1.101)
上传文件
scp [local_file] user@host:[remote_path]
通过ssh上传文件
下载文件
scp user@host:[remote_path] [local_file]
通过ssh下载文件
scp -r 可以处理文件夹
启动VNC服务
vncserver -geometry 1920x1080 -alwaysshared :1
启动VNC服务,-geometry: 定义窗口大小,-alwaysshared: 同一个显示器可以连接多个客户机
VNC复制粘贴
vncconfig -nowin&
开启Vnc viewer与windows之间复制粘贴
l_file]
> 通过ssh下载文件
> scp -r 可以处理文件夹
### 启动VNC服务
```shell
vncserver -geometry 1920x1080 -alwaysshared :1
启动VNC服务,-geometry: 定义窗口大小,-alwaysshared: 同一个显示器可以连接多个客户机
VNC复制粘贴
vncconfig -nowin&
开启Vnc viewer与windows之间复制粘贴