Linux 常用命令汇总
补充技巧命令:
date -d@**********
时间戳转为时间格式;ctrl + r
命令行历史命令搜索;wc -cml *****
统计文件行数等;supervisorctl status
查看任务运行状态;jps
查看所有 Java 进程的 pid;grep -v
:不包含某字符的行;ssh-copy-id user@ip
:本地公钥复制到远程服务器;
更新补充 nohup 和 awk 命令;
nohup
nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。
nohup 命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out
的文件到当前目录下,如果当前目录的 nohup.out
文件不可写,输出重定向到 $HOME/nohup.out
文件中。
语法格式:
1 | nohup Command [ Arg … ] [ & ] |
参数说明:
Command:要执行的命令。
Arg:一些参数,可以指定输出文件。&
:让命令在后台执行,终端退出后命令仍旧执行。
停止命令:
使用 ps -def | grep *
命令来查找 PID。找到 PID 后,就可以使用 kill PID
来停止。
1 | kill -9 进程号PID |
详细说明参考:https://www.runoob.com/linux/linux-comm-nohup.html
awk
awk 是很实用的文本处理命令,print 到后带的是你要获取第几列,sed -n 是指定第几行。
1 | $ ls -l | awk '{print $1,$5}' | sed -n '2p' |
如果是查看表格文件的行列值,可以使用分隔符拆分:
1 | head log_zk_0224.csv | awk -F ',' '{print $1,$2}' |
详细说明参考: https://www.runoob.com/linux/linux-comm-awk.html
清除缓存
清理pagecache(页面缓存)
1
echo 1 > /proc/sys/vm/drop_caches 或者 # sysctl -w vm.drop_caches=1
清理dentries(目录缓存)和inodes
1
echo 2 > /proc/sys/vm/drop_caches 或者 # sysctl -w vm.drop_caches=2
清理pagecache、dentries和inodes
1
echo 3 > /proc/sys/vm/drop_caches 或者 # sysctl -w vm.drop_caches=3
文件和目录
命令 | 解释 |
---|---|
cd /etc | 进入/ect 目录 |
cd .. | 返回上一级目录 |
cd../.. | 返回上两级目录 |
cd | 进入个人主目录 |
cd - | 返回上次所在的目录 |
pwd | 显示工作路径 |
ls | 查看目录中的文件 |
ls -F | 查看目录中的文件 |
ls -l | 显示文件和目录的详细内容 |
ls -a | 显示隐藏文件 |
ls *[0-9]* | 显示包含数字的文件名和目录名 |
tree | 显示文件和目录由根目录开始的树形结构 |
lstree | 显示文件和目录由根目录开始的树形结构 |
mkdir dir | 创建dir 目录 |
mkdir -p /tmp/dir1/dir2 | 创建目录树 |
rm -f file | 删除文件file |
rmdir dir | 删除空文件夹dir |
rm -rf dir | 删除文件夹dir |
mv old_dir new_dir | 将old_dir 移动并重命名为new_dir |
cp file1 file2 | 将file1 复制为file2 |
cp dir/* | 复制一个目录下所有文件到当前工作目录 |
cp -a /tmp/dir1 | 复制一个目录下所有文件到当前工作目录 |
cp -a dir1 dir2 | 复制一个目录到另一个目录下 |
ln -s file lnk | 创建一个指向文件或目录的软链接 |
ln file lnk | 创建一个指向文件的物理链接 |
touch -t 22222350 file | 修改一个文件或目录的时间戳(YYMMDDhhmm) |
iconv -l | 列出已知的编码 |
文件搜索
命令 | 解释 |
---|---|
find / -name file1 | 从/ 开始进入根目录系统搜索文件和目录 |
find / -user user1 | 搜索属于用户user1 的文件和目录 |
find /home/user1 -name \*.bin | 在目录/home/user1 中搜索带有.bin 结尾的文件 |
find /usr/bin -type f -atime +100 | 搜索在过去100天内未被使用过的执行文件 |
find /usr/bin -type f -mtime -10 | 搜索十天内被创建或修改过的文件 |
whereis file | 搜索系统内文件的位置并显示 |
which halt | 显示当前文件目录下文件的路径 |
文件压缩
命令 | 解释 |
---|---|
bunzip2 file1.bz2 | 解压名为file1.bz2 文件 |
bzip2 file1 | 压缩名为file1 文件 |
gunzip file1.gz | 解压名为file1.gz 文件 |
gzip file1 | 压缩名为file1 文件 |
gzip -9 file1 | 最大程度压缩 |
rar a file.rar file | 创建名为file.rar 的压缩包 |
rar a file.rar file1 file2 dir1 | 同时压缩文件file 1,file2 以及目录dir1 |
unrar x file1.rar | 解压rar 包 |
tar -cvf archive.tar file1 | 创建一个非压缩的tar 包 |
tar -cvf archive.tar file1 file2 dir1 | 同时压缩文件file 1,file2 以及目录dir1 |
tar -tf archive.tar | 显示包中的内容 |
tar -xvf archive.tar | 解压包 |
tar -xvf archive.tar -c /tmp | 将压缩包解压到/tmp 目录下 |
tar -zxvf archive.tgz | 解压.tgz 包 |
tar -zcvf archive.tar dir1 file1 dir2 | 压缩到.tgz 文件 |
tar -cvfj archive.tar.bz2 dir1 | 创建bzip2 格式的压缩包 |
tar -jxvf archive.tar.bz2 | 解压bzip2 格式的压缩包 |
tar -cvfz archive.tar.gz dir1 | 创建gzip 格式的压缩包 |
tar -zxvf archive.tar.gz dir1 | 解压gzip 格式的压缩包 |
zip file1.zip file1 | 创建zip 格式的压缩包 |
zip -r file1.zip file1 file2 dir1 | 同时压缩文件file 1,file2 以及目录dir1 |
unzip file1.zip | 解压zip 格式压缩包 |
用户和群组
命令 | 解释 |
---|---|
groupadd group_n | 创建一个新的用户组 |
groupdel group_n | 删除一个用户组 |
groupmod -n new_group_n old_group_n | 重命名一个用户组 |
useradd user_1 | 创建一个新用户 |
userdel -r user_1 | 删除一个用户(-r 排除主目录) |
passwd | 修改口令 |
passwd user_1 | 修改用户口令 |
chage -E 2020-4-1 user_1 | 设置用户口令失效时间 |
pwck | 检查/etc/passwd 的文件格式和语法修正及存在的用户 |
文件权限
命令 | 解释 |
---|---|
ls -lh | 显示权限 |
ls /tmp | pr -T5 -W$COLUMNS | 将终端划分为5栏显示 |
chmod ugo+rwx dir1 | 设置目录的所有人(u)、群组(g)及其他人(o)以读(r)、写(w)和执行(x)的权限 |
chmod go-rwx dir1 | 删除群组(g)及其他人(o)以读(r)、写(w)和执行(x)的权限 |
chown user1 file1 | 改变一个文件的所有人属性 |
chown -R user1 dir1 | 改变一个目录的所有人属性并同时改变目录下所有文件的属性 |
chgrp group1 file1 | 改变文件的群组 |
文件系统
命令 | 解释 |
---|---|
mount /dev/pan_2 /mnt/pan_2 | 挂载一个名为pan_2 的盘 |
umount /dec/pan_2 | 卸载一个名为pan_2 的盘 |
fuser -km /mnt/pan_2 | 强制卸载盘 |
mount /dev/fd0 /mnt/floppy | 挂载一个软盘 |
mount -t vfat /dev/pan_2 /mnt/pan_2 | 挂载一个FAT32 文件系统 |
mkfs /dev/pan_1 | 在pan_1 分区创建一个文件系统 |
mke2fs /dev/pan_1 | 在pan_1 分区创建一个linux ext2 的文件系统 |
mkfs -t vfat 32 -F /dev/pan_1 | 创建一个FAT32 文件系统 |
mkswap /dev/pan_1 | 创建一个swap 文件系统 |
swapon /dev/pan_1 | 启用一个新的swap 文件系统 |
系统信息
命令 | 解释 |
---|---|
arch | 显示机器的处理器架构 |
uname -m | 显示机器的处理器架构 |
uname -r | 显示正在使用的内核版本 |
cat /proc/cpuinfo | 显示CPU 信息 |
cat /proc/interrupts | 显示中断 |
cat /proc/meminfo | 校验内存使用 |
cat /proc/version | 显示内核的版本 |
cat /proc/net/dev | 显示网络适配器及统计 |
cal 2020 | 显示年日历表 |
ifconfig eth0 | 显示一个以太网配置 |
netstat -r | 查看路由信息 |
shutdown -h now | 立即关机 |
reboot | 重启 |
磁盘空间
命令 | 解释 |
---|---|
df -h | 显示已挂载的分区列表 |
du -sh dir1 | 计算目录dir1 使用的磁盘空间大小 |
du -sk * | sort -rn | 以容量大小为依据依次显示文件和目录的大小 |
软件管理
命令 | 解释 |
---|---|
apt install package_name | 安装或更新deb 包 |
apt upate | 升级列表中的软件包 |
apt upgrade | 升级所有已安装的软件 |
apt remove package_name | 删除deb 包 |
apt check | 确认依赖的软件仓库正确 |
apt clean | 从下载的软件包中清理缓存 |
apt --purge remove software_name | 卸载软件及其依赖的安装包 |
dpkg --list | 列出已安装的软件 |
curl命令
在Linux
中curl
是一个利用URL
规则在命令行下工作的文件传输工具,可以说是一款很强大的http
命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url
为下载工具。
1 | 格式:curl [option] [url] |
常见参数:
1 | -A/--user-agent <string> 设置用户代理发送给服务器 |