1.远程连接linux
ssh -p 56 root@192.168.178.34 # 指定端口号 用户名和IP 默认端口 56:ssh 3306:mysql 80:http 443:https 6379:redis
2. 查看网卡信息
ifconfig
3.目录相关
pwd:查看当前目录 ls:查看当前文件夹下的文件和文件夹 ls -a:展示全部文件,包括隐藏文件 ll:以列表的形式查看文件和隐藏文件 tree:以树的形式查看目录曾今,需要安装tree cd:目录切换 mkdir:创建目录 mkdir test_{1..3} # 一次创建多个连号 mkdir test_{4,5} # 一次性创建多个相同前缀目录 mkdir -p /test/project: 递归创建文件夹 mv 目录A 目录B :移动目录或者重名目录,对文件也适应 rm -rf 目录:递归删除文件夹下的所有文件或文件夹 cp -r 目录A 目录B :将目录A 拷贝到目录B
特殊目录:
. 当前目录 .. 上一级目录 - 上一次的工作目录 ~ 当前登录用户的家目录 / 根目录
linux下的目录结构
4 文件相关
linux默认文件操作
touch 文件: 创建文件 cat 文件: 查看文件内容 rm -f 文件: 删除文件 echo "hello world" >> test.txt :向指定文件中写入内容 cp 文件A 文件B: 拷贝文件 head 文件: 默认从文件的前10行看 head -3 /etc/passwd 查看文件的前3行 tail 文件: 默认从文件的后10行看 tail -2 /etc/passwd 查看文件的后2行 tail -f /tmp/test.txt 能够检测文件内容的变化
5 linux下的帮助信息
1.man手册 - man ls - man cd 2.命令参数加上 --help - mkdir --help
6 PATH 环境变量
PATH中定义一些常用的软件定命令目录,可以快捷的执行对应的命令 1. 为什么系统可以直接找到python解释器? which python 2. 产看当前PATH存放的命令目录 echo $PATH 3. 添加目录到PATH中 vim /etc/profile # 打开文件,在文件末尾添加环境变量,并将需要添加的目录在之前的基础上修改 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" 以:分割
7.v
命令模式下 $:快速移动到行尾 0:快速移动到行首 x:删除光标所在的字符 gg:移动到文件的第一行 G:移动到文件的最后一行 /string :全文搜索指定的字符串 n:查找下一个 yy:复制光标当前行 3yy:复制光标后三行 p:粘贴 dd:删除光标所在行 3dd:删除光标所在的后3行 dG:删除光标所在及文件末尾的所有行 ggdG:删除全文 u:撤销上一次操作 底线模式下: :wq:保存并退出 :q!:强制退出并不保存 :set number:显示行好 :数字:快速定位到某一行
8.alias别名
可以给很长的一条命令起一个别名
alias: 查看当前已有的别名
alias 别名=“xxxxxxxxxxx”
9.find命令
用于搜索机器上某个文件 语法: find 起始目录 [-type][f/d] [-name] 文件名 如: find ./ -type f -name 'hello.txt' 在当前目录查找名字为hello.txt的文件 find /etc -type f -name "ifcfg*"
| :管道符,结合其他命令使用,起到连接 如: 1.例如过滤服务器上的进程信息 2.例如过滤服务器上的端口状态信息
11.
从文本中过滤有用的信息 如: 1. grep "hello" . -rn 在当前目录下搜索指定内容,并将合格的信息显示所在的文件和行号 2. ps -ef | grep 'hello' 查看进程为hello的信息
grep -rl 'Enslaved' ./ | xargs sed -i 's/Enslaved/Insubordinate/g' # 在当前目录下查找Enslaved的所有文件,然后作为参数传递给xargs,将Enslaved替换为Insubordinate
grep -rl --exclude-dir="linux" "master" . | xargs grep -l "slave" # 在当前目录下查找master的文件,排除linux的文件夹,找到所有的文件作为参数,传递给xargs,再查找包含slave的文件
sed -i 's/master/host/g' ./tools/libdua/release/dua/cda00bas.h # 将指定文件中的所有master替换为host
查看linux进程信息的命令 ps -ef 查看所有的进程 ps -ef | grep "hello" 查看hello的进程
查看linux网络端口 netstat -tunlp 显示机器所有的tcp、udp的所有端口连接情况 netstat -tunlp | grep 80 查看80端口信息 netstat -tunlp | grep ssh 查看ssh服务是否正常
类似windows下的任务管理器,可以动态的现实进程,CPU,内存, 网络等情况 命令:top 第一行 (uptime) 系统时间 主机运行时间 用户连接数(who) 系统1,5,15分钟的平均负载 第二行:进程信息 进程总数 正在运行的进程数 睡眠的进程数 停止的进程数 僵尸进程数 第三行:cpu信息 1.5 us:用户空间所占CPU百分比 0.9 sy:内核空间占用CPU百分比 0.0 ni:用户进程空间内改变过优先级的进程占用CPU百分比 97.5 id:空闲CPU百分比 0.2 wa:等待输入输出的CPU时间百分比 0.0 hi:硬件CPU中断占用百分比 0.0 si:软中断占用百分比 0.0 st:虚拟机占用百分比 第四行:内存信息(与第五行的信息类似与free命令) total:物理内存总量 used:已使用的内存总量 free:空闲的内存总量(free+used=total) buffers:用作内核缓存的内存量 第五行:swap信息 total:交换分区总量 used:已使用的交换分区总量 free:空闲交换区总量 cached Mem:缓冲的交换区总量,内存中的内容被换出到交换区,然后又被换入到内存,但是使用过的交换区没有被覆盖,交换区的这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。
杀死进程的命令 kill -9 pid pkill -9 进程名
16 du命令
用法 du 【参数】【文件或目录】 -s 显示总计 -h 以k,M,G为单位显示,可读性强
文件管理的权限-----也就是针对这文件,属于哪个用户,属于哪个组,以及对应的权限是什么
对于linux系统而言,文件、文件夹,都是有 user 属主, group属组的一个角色分配,还存在一个other其他人,并且设定了 r w x 三个权利的限制,也就是 读,写,执行(对于文件的读写执行)
1. chmod 000 file.txt #给与文件最低的权限,任何人不得读写执行 2. chmod 777 file.txt # 给文件的最高权限,任何人可以读写执行 3. chmod 444 file.txt # 所有人有只读的权限
18 linux下的打包,压缩和解压
打包,不节省空间 压缩,节省磁盘空间 语法 tar 命令 功能参数 -z 调用gzip命令,对文件压缩 ,加上这个参数,才会节省磁盘空间 -x 解包,拆快递 -v 显示整个过程 -f 必须写在参数结尾, -c 打包,收拾快递
tar -zcvf allopt.tar ./* # 打包且压缩当前目录下的所有文件,命名为 allopt.tar tar -zxvf allopt.tar.gz ./ # 解包在当前目录
ln -n file1 file2 将文件2设置为文件1的软连接:file1和file2 任何一个改动都会反馈到另一方,删除源文件, 软连接文件不可用 ln -s file1 file2 将文件2设置为文件1的硬连接:file1和file2 任何一个改动都会反馈到另一方
20 crontab定时任务
crond定时任务服务,提供了一个客户端管理命令crontab,我们常用于定期去除日志 crontab -e #编辑定时任务配置文件 crontab -l #查看定时任务的规则 定时任务的语法规则 * * * * * 命令的绝对路径 分 时 日 月 周 #每月的1,10,22日的4:45重启nginx 45 4 1,10,22 * * /usr/bin/systemctl restart nginx
21.显示IPCS信息
- ipcs 显示共享内存,消息队列, 信号量全部的IPC
- ipcs -q 显示消息队列
- ipcs -s 显示信号量
- ipcs -m 显示共享内存
- ipcds -u 显示IPC状态汇总
22.scp
scp [user@host1:]file1 [user@host2:]file2 将主机1下的某一路径下的文件拷贝到另一个主机下的某一路径 scp -r [user@host1:]dir1 [user@host2:]dir2 将主机1下的某一路径下的文件夹拷贝到另一个主机下的某一路径 scp ATA19x.ATA19x.11-1-kunmzhao-002dev.img kunmzhao@10.74.4.245:/home/kunmzhao/myStation 用例