# 一、文件 ## 1.1 压缩及解压 + zip ```shell # 压缩 zip -r ./xxx.zip ./* # 解压 unzip xxx.zip # 查看压缩文件内容 unzip -v xxx.zip # 从zip中删除xxx.txt文件 zip xxx.zip -d xxx.txt ``` + tar ```shell # 解压 tar -zxvf xxxx.tar.gz tar -xvf xxxx.tar tar -xjvf xxxx.tar.bz2 # 压缩 # 将目录里所有jpg文件打包成tar.jpg tar -cvf jpg.tar *.jpg # 将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩 tar -czf jpg.tar.gz *.jpg ``` + 压缩命令过长 ```shell find ./ -name '*' -print |zip files -@ ``` ## 1.2 文件合并及切分 + 合并 ```shell cat *.txt > target.txt ``` + 拆分 ```shell # 按大小切分 split -b 100m xxxx # 按行切分 split -l xxxx # 设置拆分后文件名,指定数字后缀 split -b 100m -d xxxx xxxx_part_ ``` ## 1.3 查看文件 + 文件大小 ```shell du -sh xxx ``` + ls ``` # 查看所有 ls -a # 列表形式显示 ls -l ``` + ll ``` # 以文件上次被修改的时间排序 ll -lht|head -n 20 ``` ## 1.4 创建文件 ``` # 创建文件 touch xxx.txt # 创建隐藏文件 touch .xxxx.txt ``` ## 1.5 移动及复制文件(夹) ```shell # 将xxx.txt文件移动到abc文件夹 mv xxx.txt abc # 将1文件移动到2文件,实质上就是1文件重命名为2文件 mv 1.txt 2.txt ``` ``` # 使用指令 cp 将当前目录 test/ 下的所有文件复制到新目录 newtest 下 cp –r test/ newtest # cp 命令使用 -r 参数可以将 packageA 下的所有文件拷贝到 packageB cp -r /home/packageA/* /home/cp/packageB/ ``` ## 1.6 查找文件 + find ``` # 指定目录 find /home -name 123.txt # 模糊查找12开头的文件 find /home -name ‘12*’ # 将当前目录及其子目录下所有文件后缀为 .c 的文件列出来 find . -name "*.c" # 将当前目录及其子目录中的所有文件列出 find . -type f # 全局查找以txt后缀文件 find / -name "*.txt*" ``` ## 1.7 查看文件 + view ```shell # 进入vi查看,不可编辑 view xxx.txt ``` + cat ``` # 输出文件 cat xxx.txt ``` ## 1.8 清空文件 + true ```shell true > 1.txt ``` ## 1.9 将结果转存文件 ``` # 将内容追加到txt中 ls > 1.txt ll > 1.txt ``` ## 1.10 grep ```shell # 查找进程 ps -ef|grep xxxx # ``` ## 1.11 sed ## 1.12 awk # 二、网络 ## 2.1 查看IP yum install -y net-tools + ifconfig ``` ifconfig ``` + lsof ``` # 查看所有 lsof -i # 查看指定端口 lsof -i:8080 # 查看文件进程 lsof xxx.txt ``` ## 2.2 查看网关 ``` # 查看gateway route -n ``` ## 2.3 查看端口占用 ``` netstat -anp|grep 3306 ``` ## 2.4 ping ```shell ping 192.168.1.1 ``` ## 2.5 host + hostname ``` # 查看本机Hostname hostname ``` ```shell # 查看Hosts文件 vi /etc/hosts ``` ## 2.6 SSH远程登录 ``` # 默认端口22 ssh username@ip # 指定端口 ssh -p 2233 username@ip ``` ## 2.7 SCP远程复制 ``` # 指定用户名IP scp local_file remote_username@remote_ip:remote_folder 或者 scp local_file remote_username@remote_ip:remote_file 或者 # 做了互信 scp local_file remote_ip:remote_folder 或者 scp local_file remote_ip:remote_file scp local_file remote_host:remote_file # 递归复制整个目录 scp -r local_dir remote_host:remote_folder ``` # 三、权限 ## 3.1 用户权限及用户组 Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users) + chmod ``` # 添加操作权限 chmod +x xxx.sh # chmod 777 xxx.sh ``` ![[file-permissions-rwx.jpg]]![[rwx-standard-unix-permission-bits.png]] + chown ``` # 添加操作用户 chown [-R] 所有者:所属组 文件或目录 ``` ## 3.2 免密 ``` # 安装ssh yum -y install openssh openssh-server openssh-clients systemctl start sshd systemctl status sshd ``` ``` ssh-keygen -t rsa #三次回车 # 复制rsa凭证到对方机cdh-master在hosts中配置,也可以改为 用户名@ip ssh-copy-id -f -i ~/.ssh/id_rsa.pub cdh-master ssh-copy-id -f -i ~/.ssh/id_rsa.pub cdh-slave1 ``` # 四、系统 ## 4.1 系统时间 ``` date ``` ## 4.2 防火墙 ``` systemctl disable firewalld systemctl stop firewalld ``` ## 4.3 selinux ``` [root@dev-server ~]# getenforce Disabled [root@dev-server ~]# /usr/sbin/sestatus -v SELinux status: disabled ``` 临时关闭 ``` ##设置SELinux 成为permissive模式 ##setenforce 1 设置SELinux 成为enforcing模式 setenforce 0 ``` 永久关闭 ``` vi /etc/selinux/config # 将SELINUX=enforcing改为SELINUX=disabled # 设置后需要重启才能生效 ``` ## 4.4 linux内核及版本 + lsb_release ``` # 查看发行版 lsb_release -a ``` + uname ``` # 查看内核版本 uname -a ``` ## 4.5 查看内存、CPU + free 查看内存 ```shell # 以G为单位 free -h # 以M为单位 free -m ``` CPU ``` # 查看CPU型号及总线程数 cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c # 查看CPU线程数 cat /proc/cpuinfo |grep "processor"|wc -l ``` ## 4.6 修改密码 ``` # 修改root密码 passwd root ``` ## 4.7 查看磁盘 ```shell df -h ``` ## 4.8 查看进程 + jps ``` 查看java虚拟机进程 jsp ``` # 五、vim ![[vi-vim-cheat-sheet-sch.gif]] | 操作 | 命令 | | -------------- | ------------------------------- | | 复制 | yy 复制当前行 | | 粘贴 | p | | 查找 | 普通模式下 按下/ 并输入待查字符 | | 保存/强制保存 | wq/wq! | | 退出vim | q/q! | | 取消插入模式 | esc | | 显示/取消行号 | :set nu/:set nonu | | 修改文件format | :set fileformat=unix | | 删除 | dd 删除当前行 | | 方向键 | h:左 j:下 k:上 l:右 |