目录和文件
切换目录:
cd
(./当前目录; ../上一级目录; ~根目录)获取当前路径:
pwd
创建目录:
mkdir
(-p递归创建)移动或改名目录或文件:
mv
复制目录或文件:
cp
(-r递归复制)同步文件(支持远程同步):
rsync -av ./ user@ip:/home/project
(-a递归并同步元信息; -v同步结果输出到终端)删除目录或文件:
rm -rf
列出目录内容:
ls
(-a查看隐藏文件; ll文件具体信息; -h人类可读方式显示文件大小)查看目录大小:
du
(-s不显示子目录和子文件; -h人类可读方式)创建或编辑文件:
vim
(i编辑模式; Esc命令模式 :wq保存并退出, :cq不保存并退出, :nohl取消高亮, :%s///g全局替换)查看文件:
less
(-S内容不转行; /pattern搜索匹配模式的内容; q退出查看)more
(q退出查看)
打印文件:
cat
(-A打印文件分隔符)zcat
(打印或解压gz文件)合并文件:
cat file1 file2 > mergefile
head -n
(打印文件前n行)tail -n
(打印文件倒数n行; -f实时打印内容)
压缩与解压文件:
gz文件:
gzip
(压缩)gzip -d/gunzip/zcat
(解压)tar.gz文件:
tar -zcf
(压缩)tar -zxf
(解压)zip文件:
zip
(压缩)unzip
(解压)
修改目录或文件权限:
chmod
(-R递归处理; r=4,w=2,x=1)chmod -R 700 dir
(文件夹用户自己使用)修改目录或文件的所有者:
chown owner:group directory/file
(-R递归处理)统计文件行数:
wc -l
(压缩文件不能直接统计)文件内容排序:
sort
(-n按数值排序; -r降序; -u输出重复行的第一行; -t指定分隔符; -k指定排序的字段)文件内容去重:
uniq
(去除连续的重复行; -u保留唯一)选取文件指定列内容:
cut
(-d指定分隔符; -f选取列)搜素文件指定内容:
grep 'pattern'
(-v搜索内容取反; -E “A|B”匹配多个关键字)编辑文件内容:
sed 's///g'
(-i直接修改原文件; s替换; g全局)awk:
awk ''
(-F指定文件分隔符,默认是空格)多命令组合:
管道符:
|
xargs
(-d指定分隔符; -i指定{}代表传过来的参数; -I指定其他符号代表传过来的参数)
创建文件软链接:
ln -s /opt/python/bin/python3.9 /usr/bin/python3
(与添加到环境变量的功能类似)
其他
查看历史命令:
history
下载:
wget
(-O下载保存文件名; 下载链接中有特殊字符需要将链接用””)axel
(多线程下载; -n连接数)文件完整性检测:
md5sum -c md5.txt
查看磁盘空间大小:
df
(-h以人类可读方式)任务提交到后台:
nohup command 1>out 2>&1 &
(nohup不挂断; &后台运行; &1追加到1里)查看进程:
ps
(-e所有终端进程; -f完整命令)查看进程占用端口:
netstat -ntulp/netstat -apn
终止进程:
kill PID
系统资源占用情况:
top
/htop
(q退出)查看系统版本信息:
less /proc/version
查看系统性能:
less /proc/cpuinfo
查看或修改系统时区/时间:
查看时区:
date -R/timedatectl status
修改时区:
timedatectl set-timezone "Asia/Shanghai"
查看/修改时间:
date
(-s修改时间)系统时间写入CMOS:
clock -w
环境变量:
用户级别环境变量文件: ~/.bashrc ~/.bash_profile
系统级别环境变量文件: /etc/bashrc /etc/bash_profile
添加环境变量:
export PATH=$PATH:/opt/R/bin
环境变量文件修改后生效:
source /etc/bashrc
服务设为系统服务并开机自启:
拷贝服务:
cp /opt/mysql/support-files/mysql.server /etc/init.d
添加为系统服务:
chkconfig --add mysql.server
设置为开机自启:
chkconfig mysql.server on
开机自动执行命令:
vim /etc/rc.local
(添加需要执行的命令, eg. java -jar /opt/software.jar 1>/opt/test.log 2>&1 &)用户相关:
创建用户:
sudo useradd -u 1001 username -m -d /home/username -G group -s /bin/bash
(sudo可以执行root权限的命令)修改密码:
sudo passwd username
(为用户修改密码)passwd
(修改当前用户密码)赋予用户sudo权限:
sudo usermod -aG sudo username
切换到root用户:
sudo -i
远程登录:
登录:
ssh username@ip -p port
(该命令也可以在Windows下的cmd中使用)免密登录:
ssh-keygen
(生成钥匙)ssh-copy-id username@ip -p port
(远程机器记住公钥)推出登录:
exit
配置登录别名:
1
2
3
4
5
6vim ~/.ssh/config
Host wk
HostName ip
User username
Port 22
ssh wk # 通过别名wk直接登录
终端复用器tmux:
- 创建一个会话:
tmux
或tmux new -s session
- 查看所有会话:
tmux ls
- 分离会话:
tmux detach / exit
或 ctrl + b -> d (ctrl + d关闭并删除当前会话) - 连接会话:
tmux attach -t session
- 切换会话:
tmux switch -t session
- 杀死会话:
tmux kill-session -t session
- 创建一个会话:
升级Ubuntu:
1
2
3
4
5
6
7sudo apt update
sudo upgrade -y
sudo dist-upgrade -y
sudo reboot
sudo apt install update-manager-core
sudo do-release-upgrade -d
lsb_release -a # 查看版本