linux命令使用总结
## linux 查看系统全部信息
uname -a
## linux 查看系统内核信息
uname -r
## linux 查看系统版本号信息
cat /etc/redhat-release
## linux修改目录的读写权限
chmod 777 目录/文件
## 修改sh文件的权限
chmod +x *.sh
## linux修改目录的使用角色权限
chown 角色 目录名
例如:修改logs目录使用角色权限
drwxr-xr-x 2 root root 4096 Feb 25 10:14 logs
drwxr-xr-x 2 nana root 4096 Feb 25 10:14 logs
## linux查看目录的使用角色权限
ll
ls -hl
## linux查看磁盘占用比例
df -lh
注:Used:已经使用的空间
Avail:可以使用的空间
Mounted on:挂载的目录
## 读取文件
rz
sz
## 查看文件
cat DirName
more DirName
## 创建目录
mkdir DirName
## 创建文件
touch DirName
## 删除目录/文件
rm DirName
注:-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。
-rf将目录删除,无需确认。
## 复制目录/文件
cp DirName NewDirName
注:-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件
## 查看进程
$ ps -ef|grep java
$ ps -ef|grep jar/war包名
注:通过 p s命令可以查找出进程的相对路径,但查不到的进程的详细信息,如绝对路径等。
## 查看进程所在目录
ll /proc/PID
注:Linux在启动一个进程时,系统会在/proc下创建一个以PID命名的目录,在该目录下会有我们的进程的信息,其中包括一个名为exe的文件,记录了绝对路径,通过ll或ls –l命令即可查看。
cwd 符号链接的是进程运行目录;
exe 符号连接就是执行程序的绝对路径;
cmdline 就是程序运行时输入的命令行命令;
environ 记录了进程运行时的环境变量; fd 目录下是进程打开或使用的文件的符号连接。
## 实时查看tomcat日志
tail -f catalina.out
## 文件/目录重命名或移入其它位置
mv DirName NewDirName
注:-i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
-f: 在mv操作要覆盖某已有的目标文件时不给任何指示;
mv 文件名 文件名(将源文件名改为目标文件名)
mv 文件名 目录名(将文件移动到目标目录)
mv 目录名 目录名(目标目录已存在,将源目录移动到目标目录,目录不存在则改名)
mv 目录名 文件名(出错)
## 查看目录下的文件
dir DirName
## 删除乱码文件
## 查看文件的字节号 ls -i ## 删除指定字节号的文件 find -inum 节点号 -delete
## 查询当前终端的字符集
echo $LANG
## 杀死僵尸进程
## 查找僵尸进程 ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]' 查询结果如下: Z 12334 12339 /path/cmd ## 杀死子进程 kill -HUP 12339 ## 杀死父进程 kill -HUP 12334 以上无效,尝试下面命令: ## 杀死僵尸进程 ps -ef | grep defunct | grep -v grep | awk '{print "kill -18 " $3}'
## linux下重启nginx
./nginx -s reload
## linux使用 vi命令
## 修改或创建并编辑文件 vi fileName ## 打开文件,并将光标置于第n行首 vi +n fileName ## 打开文件,并将光标置于最后一行首 vi + fileName ## 打开文件,并将光标置于第一个与pattern匹配的串处 vi +/pattern fileName ## 在上次正用vi编辑时发生系统崩溃,恢复fileName vi -r fileName ## 打开多个文件,依次进行编辑 vi fileName....fileName ## 编辑文件: i - 在光标前 I - 在当前行首 a - 光标后 A - 在当前行尾 o - 在当前行之下新开一行 O - 在当前行之上新开一行 r - 替换当前字符 R - 替换当前字符及其后的字符 ## 编辑完后按 esc 退出编辑 ## 退出vi :wq 保存修改并退出 :q! 不保存并退出 :q 退出vi
参考 vi命令大全
## linux查询 ip地址
ifconfig
ip addr
## linux连接ftp传输文件
## 方式一 sftp -oHostkeyAlgorithms=+ssh-dss -oPort=端口 用户名@ip地址 ## 方式二 sftp -oPort=端口 用户名@ip地址 如果ftp未连接上并给出提示信息类似于 /export/home/amn/.ssh/known_hosts,则删除对应文件,例如 rm -rf /export/home/amn/.ssh/known_hosts
## linux使用 curl命令
## curl命令格式 curl [option] [url] ## get请求网址并输出内容 curl http://www.codebelief.com/ ## 下载文件到本地 Begin ## ## 使用 > 将输出重定向到本地文件中 curl http://www.codebelief.com/ > index.html ## 使用 -o 将输出保存到本地文件index.html中(可以指定多个) curl -o index.html http://www.codebelief.com/ ## 使用 -O 将url中的文件名作为输出文件名,并保存的本地(可以指定多个) curl -O http://tool.chinaz.com/tools/unicode.aspx ## 循环下载,如下:下载文件dodo1.JPG、dodo2.JPG、dodo3.JPG curl -O http://www.linux.com/dodo[1-3].JPG ## 重命名下载,如下:下载文件名字hello_dodo1.JPG、hello_dodo2.JPG、bb_dodo1.JPG、bb_dodo2.JPG curl -o #1_#2.JPG http://www.linux.com/{hello,bb}/dodo[1-2].JPG ## 分块下载 curl -r 0 -200 -o dodo1.part1 http://www.linux.com/dodo1.JPG curl -r 200 - -o dodo1.part2 http://www.linux.com/dodo1.JPG ## 合并 cat dodo1.part* > dodo1.JPG ## 断点续传 curl -C -O http://www.linux.com/dodo1.JPG ## 显示下载进度条 curl -# -O http://www.linux.com/dodo1.JPG ## 不显示下载进度条 curl -s -O http://www.linux.com/dodo1.JPG ## 通过ftp下载文件 curl -O -u 用户名:密码 ftp://www.linux.com/dodo1.JPG curl -O ftp://用户名:密码@www.linux.com/dodo1.JPG ## 下载文件到本地 End ## ## 通过ftp上传文件 curl -T dodo1.JPG -u 用户名:密码 ftp://www.linux.com/img/ ## 使用 -A 自定义用户代理,如下:伪装成安卓火狐浏览器对网页进行请求 curl -A "Mozilla/5.0 (Android; Mobile; rv:35.0) Gecko/35.0 Firefox/35.0" http://www.baidu.com ## 使用 -H 传递特定的 header curl -H "Referer: www.example.com" -H "User-Agent: Custom-User-Agent" http://www.baidu.com curl -H "Cookie: JSESSIONID=D0112A5063D938586B659EF8F939BE24" http://www.example.com ## 使用 -c 保存cookie,curl默认不会保存cookie curl -c "cookie-example" http://www.example.com ## 使用 -b 读取cookie, -b后面可以是字符串,也可以是存储cookie的文件名 curl -b "JSESSIONID=D0112A5063D938586B659EF8F939BE24" http://www.example.com curl -b "cookie-example" http://www.example.com ## 使用 -d 发送POST请求,也可省略-X,默认为POST请求 curl -d "userName=nana&passwd=123456" -X POST http://www.example.com/login curl -d "userName=nana&passwd=123456" http://www.example.com/login
## 设置请求头,发送POST请求 curl -l -H "Content-type: application/json" -X POST -d '{ "mobileNo":"15745451122", "vcode":"313864" }' http://localhost:8888/login ## 保存cookie的登录 curl -c “cookie-login” -d “userName=nana&passwd=123456” http://www.example.com/login ## 再次浏览,进入登录成功后的页面 curl -b “cookie-login” http://www.example.com/login
## 获取公网IP
curl icanhazip.com
## linux 查找文件路径
find /|grep fileName
## 清空文件
CP /dev/null catalina.out 还未尝试
## 查看内存使用
df -h
############################################################################
## grep 命令使用
## 在文件中查找关键字出现的信息,并保存在一个文件里
grep string file | tee -a newFile 例如: ## 查询用户在日志中的信息 grep username=nana info.log | tee -a infoNana.log
## 查找关键字在文件中出现的次数
grep -o 'string' file | wc -l
例如:
## 查询 请求成功 在目录中出现的次数
grep -o 'param3=请求成功' * | wc -l
## 查询关键字在文件里的信息
cat file | grep string grep string file 例如: cat info.log | grep param3=请求成功 grep param3=请求成功 info.log