记录部分命令,更多请查看菜鸟教程 。学习笔记,如有错误请大佬指点!!!
比如安装redis时需要先下载redis软件然后再安装,那就用wget命令
curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。
#语法 curl [option] [url] #参数 -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 进度条显示当前的传送状态
基本用法:
curl http://www.linux.com #执行后,www.linux.com 的html就会显示在屏幕上了
Ps:由于安装linux的时候很多时候是没有安装桌面的,也意味着没有浏览器,因此这个方法也经常用于测试一台服务器是否可以到达一个网站
保存访问的网页 curl http://www.linux.com >> linux.html
部分参数: -a或--all 显示所有连线中的Socket。 -A<网络类型>或--<网络类型> 列出该网络类型连线中的相关地址。 -c或--continuous 持续列出网络状态。 -h或--help 在线帮助。 -i或--interfaces 显示网络界面信息表单。 -l或--listening 显示监控中的服务器的Socket。 -M或--masquerade 显示伪装的网络连线。 -n或--numeric 直接使用IP地址,而不通过域名服务器。 -o或--timers 显示计时器。 -p或--programs 显示正在使用Socket的程序识别码和程序名称。(PID) -s或--statistics 显示网络工作信息统计表。 -t或--tcp 显示TCP传输协议的连线状况。 -u或--udp 显示UDP传输协议的连线状况。 -V或--version 显示版本信息。 网络状态: LISTEN:侦听来自远方的TCP端口的连接请求 SYN-SENT:再发送连接请求后等待匹配的连接请求(如果有大量这样的状态包,检查是否中招了) SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认(如有大量此状态,估计被flood攻击了) ESTABLISHED:代表一个打开的连接 FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认 FIN-WAIT-2:从远程TCP等待连接中断请求 CLOSE-WAIT:等待从本地用户发来的连接中断请求 CLOSING:等待远程TCP对连接中断的确认 LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认(不是什么好东西,此项出现,检查是否被攻击) TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认 CLOSED:没有任何连接状态 网络 netstat -an | grep 端口 | wc -l (wc -l显示满足条件的行数) netstat -an | grep 80 netstat -anp |grep 端口 (查询对应端口的状态 p显示进程号) 例子 netstat -anp |grep 8080| grep LISTEN tcp6 0 0 :::8080 :::* LISTEN 14749/java
#查看该程序是由那个用户启动的 ps -ef | grep [程序名称 or PID]
kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>] 参数说明: -l <信息编号> 若不加<信息编号>选项,则 -l 参数会列出全部的信息名称。 -s <信息名称或编号> 指定要送出的信息。 [程序] [程序]可以是程序的PID或是PGID,也可以是工作编号。 使用 kill -l 命令列出所有可用信号。 最常用的信号是: 1 (HUP):重新加载进程。 9 (KILL):杀死一个进程。 15 (TERM):正常停止一个进程。 例如: kill -9 8080 #杀死占用80端口进程
选项:-c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。 下面的参数是根据需要在压缩或解压档案时可选的。 -z:有gzip属性的 -j:有bz2属性的 -Z:有compress属性的 -v:显示所有过程 -O:将文件解开到标准输出 参数-f是必须的 -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。 查看 tar -tf aaa.tar.gz 在不解压的情况下查看压缩包的内容 压缩 tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2 tar –cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z 解压 tar –xvf file.tar //解压 tar包 tar -xzvf file.tar.gz //解压tar.gz tar -xjvf file.tar.bz2 //解压 tar.bz2tar –xZvf file.tar.Z //解压tar.Z 总结 1、*.tar 用 tar –xvf 解压 2、*.gz 用 gzip -d或者gunzip 解压 3、*.tar.gz和*.tgz 用 tar –xzf 解压 4、*.bz2 用 bzip2 -d或者用bunzip2 解压 5、*.tar.bz2用tar –xjf 解压 6、*.Z 用 uncompress 解压 7、*.tar.Z 用tar –xZf 解 例如 # tar -cf all.tar *.jpg 这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。 # tar -rf all.tar *.gif 这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。 # tar -uf all.tar logo.gif 这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。 # tar -tf all.tar 这条命令是列出all.tar包中所有文件,-t是列出文件的意思 # tar -xf all.tar 这条命令是解出all.tar包中所有文件,-x是解开的意思
unzip [-cflptuvz][-agCjLMnoqsVX][-P <密码>][.zip文件][文件][-d <目录>][-x <文件>] 或 unzip [-Z] 参数: -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。 -f 更新现有的文件。 -l 显示压缩文件内所包含的文件。 -p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。 -t 检查压缩文件是否正确。 -u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。 -v 执行是时显示详细的信息。 -z 仅显示压缩文件的备注文字。 -a 对文本文件进行必要的字符转换。 -b 不要对文本文件进行字符转换。 -C 压缩文件中的文件名称区分大小写。 -j 不处理压缩文件中原有的目录路径。 -L 将压缩文件中的全部文件名改为小写。 -M 将输出结果送到more程序处理。 -n 解压缩时不要覆盖原有的文件。 -o 不必先询问用户,unzip执行后覆盖原有文件。 -P<密码> 使用zip的密码选项。 -q 执行时不显示任何信息。 -s 将文件名中的空白字符转换为底线字符。 -V 保留VMS的文件版本信息。 -X 解压缩时同时回存文件原来的UID/GID。 [.zip文件] 指定.zip压缩文件。 [文件] 指定要处理.zip压缩文件中的哪些文件。 -d<目录> 指定文件解压缩后所要存储的目录。 -x<文件> 指定不要处理.zip压缩文件中的哪些文件。 -Z unzip -Z等于执行zipinfo指令。 ##在unzip命令后,增加 -o的参数,则不再进行询问,直接覆盖原文件解压缩,节省了很多事儿。 unzip -o file_name.zip
find / -name 'filename'
find / -name 'dirName' -type d
find . | xargs grep -ri 'content' find . | xargs grep -ril 'content' 只显示文件名称
mkdir [-p] dirName 参数说明: -p 可创建多级目录,确保目录名称存在,不存在的就建一个。
使用方式:ln [-sf] 源文件 目标文件 选项:-s 就表示创建软链接了,不加的话就是创建硬链接 -f 表示存在的时候删除在创建 例如:ln -s -i /opt/node/bin/node /usr/bin/node (接着就可以全局使用node了: node -v)
chmod 权限 文件名 权限分别对应文:件所有者(Owner)、用户组(Group)、其它用户(Other Users) 权限又分为读(r)、写(w)、执行(x),分别对应数字4、2、1 例如: chmod 777 fileName
基本语法: chgrp [-R] 用户组名称 dirname/filename ... 参数: -R : 进行递归( recursive )的持续更改,即连同子目录下的所有文件、目录
基本语法: chown [-R] 用户名称 文件或目录 chown [-R] 用户名称:用户组名称 文件或目录 #同时修改属主和属组 参数: -R : 进行递归( recursive )的持续更改,即连同子目录下的所有文件、目录
创建用户 :adduser username 接着设置密码 passwd username
创建用户并增加到工作组: useradd -g groupname username (注: -g 所属组 -d 家目录 -s 所用的shell)
给已有的用户增加工作组: usermod -G groupname username
临时关闭
关闭用户账号:passwd –l username
重新释放:passwd –u username
passwd [-k] [-l] [-u [-f]] [-d] [-S] [username] 命令语法说明。 -d 删除密码 -f 强制执行 -k 更新只能发送在过期之后 -l 停止账号使用 -S 显示密码信息 -u 启用已被停止的账户 -x 设置密码的有效期 -g 修改群组密码 -i 过期后停止用户账号
永久性删除用户账号: userdel username
whoami 查看当前登录用户名
cat /etc/passwd 查看所有的用户信息
例如:root:x:0:0:root:/root:/bin/bash 含义: username(用户名):passwd(密码):userID(用户id):groupID(用户所在组id):comment(备注):home directory(用户家目录):shell(shell命令所在目录)
groupadd groupname 例子 useradd -g groupname username -s /bin/false //-s为默认shell,不给shell,也就不能登录 useradd -g groupname username -s /sbin/nologin //-s为默认shell,默认给予shell,但是不给登录shell
切换到root用户,修改/etc/passwd文件 vi /etc/passwd 找到你要修改的用户所在的那一行,例如username:x:502:502::/home/username:/bin/bash,修改为以下代码 username:x:502:502::/home/username:/sbin/nologin