https://www.jianshu.com/p/341bc031ea2b
书:The linux command Line
终端中的命令提示符:
~ : /home/username;
常用命令总结:
man 命令打开手册 : man rm
df -h 查看磁盘使用情况
ctrl + a 跳至行首
ctrl + c 跳至下一行
ctrl + l 清屏 == clear
whoami 查看 username
ls -l file 可以查看file的信息
ctrl+shift+t 打开新的终端标签
ctrl+↑ 切换至上一个终端
网络检测 ping www.just-ping.com
远程登录 ssh userName@ip
打印信息 echo $JAVA_HOME 打印java home环境变量的值
cd /opt :绝对路径 、 cd opt :相对路径
ls -l (也可以直接 ll ) :列出长数据串,包含文件的属性与权限数据等
ls -a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)
grep -i "teacher" test1.txt : 查询包含teacher
grep -l "teacher" test1.txt test2.txt : 在文件test1/test2中查找是否有“teacher”
grep teacher *.txt : 显示当前目录下包含“teacher”且以.txt 结尾的文件(grep命令支持正则表达式,如grep '[a-z]\{7\}' *.txt)
语法:grep 参数 查找条件 文件名(注:是文件名,目录名下查找不行)
主要参数:
-i:不区分大小写(只适用于字母字符。)
-l:查询多文件时只输出包含匹配字符的 文件名。
-n:显示匹配行内容及行号。
-mtime +n : 列出在n天之前(不含n天本身)被更改过的文件名;
-mtime -n : 列出在n天之内(含n天本身)被更改过的文件名;
find /root(路径) -mtime 0 : 在当前目录下查找今天之内有改动的文件
mkdir test1 : 创建一个空目录
mkdir -p test2/test22 :递归创建多个目录
mkdir -m 777 test3 :创建权限为777的目录
lsof -i:xxx 查看某个端口使用情况
文件操作相关:
创建隐藏 文件/文件夹 名字以 .开头 , 在ls 时候需要加上 -a参数。
复制文件 cp source dest 复制文件 cp -r sourceFolder targetFolder 递归复制整个文件夹
查看文件 cat 有时候显示效果不佳 , 使用less/vim
查看头几行 head -n number file
查看尾几行 tail -n number file
通配符 *, echo *.html
zip解压缩 unzip xxx.zip
zip打包 zip -r target.zip sourceFolder
tar解压缩 tar -zxvf xxx.tar.gz / tar -jxvf xxx.tar.bz
tar打包 tar -zcvf target.tar.gz sourceFolder / tar -jcvf target.tar.bz sourceFolder
重定向:把程序正常的输出保存到一个文件之中(>) / 将文件读取 至 程序的输入 (<)
文件资源符(描述文件的信息) 0->stdin(键盘输入), 1->stdout(输出至屏幕), 2->stderr(输出至屏幕)
(stdout 1 正常输出信息)>: 覆盖保存 , >>:追加保存
(stdout 2 错误输出信息)2>: 覆盖保存 , 2>>:追加保存
利用管道符(|) 将输出不断进行加工
用户和文件权限
创建用户:sudo useradd xxx
增加密码:sudo passwd xxx
切换用户:su xxx
三种权限:读(r) 、写(w)、执行(x)。
chmod 修改权限 chomod 666 a.txt
文件所有者(owner 单个用户) 、 文件所在组(group 若干用户)、 其它(world 若干用户)
文件权限和目录权限有所不同:
用户只有在自己的home下才有写权限(否则需要加sudo且管理员赋予了你权限)
LINUX进程
ps -ef 更常用 与 ps aux 差不多(展示风格不一样), 但是aux有时候会存在问题(GREP时候)
LINUX查找
locate 定位一个文件:实质是通过查找databases; 正常是每天更新一次文件系统索引, 而如果是立即创建的话, 需要更新一下 updatedb,才能locate到。(centos下需要先安装: yum install mlocate)
find 定位文件:find dir / file[source]. 会从source开始枚举出所有的文件, 可以用自身参数 -name(使用通配符)....等等来过滤 或者管道grep过滤
LINUX 网络操作
SSH 服务器
LINUX 软件安装
apt-get(ubuntu)、yum(centos)
LINUX SHELL脚本
执行若干bash或者其他语言的命令