补充技巧命令:

  • 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'
awk command

如果是查看表格文件的行列值,可以使用分隔符拆分:

1
head log_zk_0224.csv | awk -F ',' '{print $1,$2}'

awk 命令参数

详细说明参考: 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_dirold_dir移动并重命名为new_dir
cp file1 file2file1复制为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同时压缩文件file1,file2以及目录dir1
unrar x file1.rar解压rar
tar -cvf archive.tar file1创建一个非压缩的tar
tar -cvf archive.tar file1 file2 dir1同时压缩文件file1,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同时压缩文件file1,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_1pan_1分区创建一个文件系统
mke2fs /dev/pan_1pan_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命令

Linuxcurl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。

1
格式:curl [option] [url]

常见参数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
-A/--user-agent <string>              设置用户代理发送给服务器
-b/--cookie <name=string/file> cookie字符串或文件读取位置
-c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中
-C/--continue-at <offset> 断点续转
-D/--dump-header <file> 把header信息写入到该文件中
-e/--referer 来源网址
-f/--fail 连接失败时不显示http错误
-o/--output 把输出写到该文件中
-O/--remote-name 把输出写到该文件中,保留远程文件的文件名
-r/--range <range> 检索来自HTTP/1.1或FTP服务器字节范围
-s/--silent 静音模式。不输出任何东西
-T/--upload-file <file> 上传文件
-u/--user <user[:password]> 设置服务器的用户和密码
-w/--write-out [format] 什么输出完成后
-x/--proxy <host[:port]> 在给定的端口上使用HTTP代理
-#/--progress-bar 进度条显示当前的传送状态

联系作者