linux的基础命令(博客使用测试中 更新中)

Linux是什么

•简单点说,linux就是一个操作系统,和windows、mac的os x 一样。

•Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIXUNIX的多用户、多任务、支持多线程和多CPU的操作系统。

Linux远程登录工具

•telnet远程登录    •ssh远程登录   •secureCRT/xshell/ssh远程登录
Linux上传下载文件
•Xftp、FileZilla、Winscp等工具   •rz、sz命令
Linux系统管理
•注销
•exit(常用于字符界面,图形界面只关闭终端窗口)
•logout(仅文本终端)
•重启
•reboot
•-w:不实际关机,用户登录信息写入/var/log/wtmp
•-d:不将用户登录信息写入/var/log/wtmp
•-f:强制重启
reboot 可以不接参数
•shutdown
•shutdown -r 延时分钟数 “提示信息”
•shutdown -r now(now表示立即执行)
•不能单独用,至少2个参数
Linux用户
•添加用户
•useradd -d 家目录 -g 组名 -G 组集合(逗号间隔) -p 密码 -s 用户shell程序 用户名
•useradd -d /usr/local/nginx/ -g nginx -G nginx,oracle -p123456 -s /bin/bash test4
•  若没有使用-p,可以使用命令加密:passwd 用户名
passwd test4
•可以不加参数直接useradd test5,添加一个用户,默认使用bash shell,家目录在/home/下
•修改用户
•usermod -l 新用户名 -d 新家目录 旧用户名
•usermod –l tom –d /usr/local/tomcat test4
•家目录要存在,且为绝对路径
•Usermod中同样可以使用useradd参数
•删除用户
userdel -r 用户名
•userdel –r test3
•-r用于删除家目录及其所有文件
•切换用户
su
•用法: su root 或者 su - root
•这两者的区别是su root不会重新加载切换用户的用户变量,su - root会重新加载用户的用户变量
•获取超级用户权限
•sudo
•  用法:sudo reboot
•  有一些命令是普通用户没有权限操作的,所以要用sudo来获取超级用户权限
•  如果普通用户要使用sudo命令,需要在/etc/sudoers文件中配置才可以使用,例如要besttest用户可以使用sudo获取root用户权限,使用root用户编辑/etc/sudoers文件,找到 root ALL=(ALL) ALL 这一行,在它下面加入bestest ALL=(ALL) NOPASSWD:ALL然后保存即可。NOPASSWD代表该用户使用sudo的时候不用输入密码
•$和#,$代表普通用户,#代表root用户
Linux组
•增加组
•groupadd -g 组ID -r 组名
•Groupadd –g 451 –r besttest
•-r:建立系统组,组ID小于499
•新组ID在500-60000之间,小于500的为系统组
•所有参数均可省(除了组名)
goroupadd dba
•修改组
•groupmod –g 组新id –n 组新名 组旧名
•groupmod –g 561 –n test besttest
•删除组
•groupdel 组名
groupdel test
VI的两种模式
•vi有两种模式
•命令模式
•  进入vi时的默认模式,此模式下所有的用户输入都视为命令
•  用户在此模式下进行搜索、复制、替换等
•编辑模式
•  用户在此模式下可以编辑文本内容
•模式切换
命令进入编辑:i(当前位置) 、a(下一位置)、o(下一行) 编辑进入命令:esc
VI对文件的编辑方式
•光标定位
•  M 移动光标到页面中央
•  L移动光标到页面尾处
•  H移动光标到页面开始处
•  Ctrl+f向后翻页
•  Ctrl+b向前翻页
•  0移动光标到行首
•  $移动光标到行尾
•  /:从上往下开始查找
•  ?:从下往上开始查找
•撤销和重复
•u复原前一个动作
•. 重复前一个动作
•复制 粘贴 删除
•nyy  复制光标所在的向下n行内容
•yw复制光标后的单词,以空格为分界
•p在光标处粘贴复制的内容
•ndd删除光标所在向下n行的内容
•ctrl + d:往下翻半屏内容
•ctrl + u:往上翻半屏内容
•shift + g:到文件末尾
•r:替换当前位置字符
•x:删除当前位置字符
•dd:删除整行
•set number:显示行号
•复制 粘贴 删除
•set nonu:取消显示行号
•:1,3y 复制第一行到第三行
•:1,3d 删除第一行到第三行
•:1,3s/str/str_new/g 替换第一行到第三行中的字符串
•:1,3s/str/str_new    替换第一行到第三行中的字符串第一个字符
•:1,3 g/str /d 删除第一行到第三行中含有这个字符串的行
•搜索字符串
•输入/+要查找的字符串
•/bestest
•按n键重新查找下一个
•N查找上一个
•退出vi
•q 退出vi
•q! 不保存退出
•wq 保存退出
•e!不保存修改的文件
•w 保存
•!强制,后面加叹号的话表示强制
文件相关命令
cd
•cd:改变当前的目录或者处理绝对目录和相对目录
•用法:cd目录
•举例:
•cd回车:退到当前用户个人目录
•cd / :退到最根目录
•cd ../xx:退到上级目录的xx目录
•cd .:停留在当前目录
•cd .. :返回上级目录
•cd –:回到上一次操作的目录
•cd ~: 回到用户家目录 
•pwd
•显示当前路径
cp
•cp:复制指定文件到另一文件或目录
•用法:cp [-abrifLP] [source] [dest]
•主要参数:
•-a:尽可能的将文件的属性、权限的内容都照原状复制
•-b:如果目的文件存在,就创造一个备份
•-r:若源中有子目录,则将子目录下的文件及目录亦全部复制至目的目录
•-i:若目的地有重复的文件,询问是否覆盖
•-f:若目的地有重复的文件,则覆盖原有文件
•-L:复制符号链接,自动修改链接以保证链接有效
•举例:
•cp -rf a.txt /tmp
mv
•mv:用来为文件或目录改名,或者将文件由一个目录移 入另一个目录中
•用法:mv[options] 源文件或目录 目标文件或目录
•主要参数:
•-i:交互方式操作。如果mv操作将导致对已存在的目标文件的覆 盖,此时系统询问是否重写,要求用户回答“y”或“n”,这样可 以避免误覆盖文件。
•-f:禁止交互操作。mv操作要覆盖某个已有的目标文件时不给任 何指示,指定此参数后i参数将不再起作用。
•举例:将/usr/local/tomcat下所有文件移动到 /tmp/tomcat下
•mv /usr/local/tomcat/* /tem/tomcat
•将a.txt改名为b.txt
•mv a.txt b.txt
rm、rmdir
•rm:用来删除文件或目录
•用法:rm [-ifr] name
•主要参数:
•-r:删除目录及子目录,目录下如果有子目录及文件也会被删除
•-f:不询问直接删除
•-i:删除前逐一询问确认
•注意: 删除的文件非常难恢复,没有windows的回收站
•举例:删除/tmp/logs下所有文件
•rm -rf /tmp/logs/*
•rmdir:用来删除一个空文件夹
•主要参数 -p 删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除
•rmdir不能删除非空目录
tail、head
•head:显示文件的开头至标准输出中
•用法:head [参数]... [文件]...
•主要参数:
•-n<行数> 显示的行数
•tail:查看文件末尾内容
•用法:tail [参数] [文件]
•主要参数:
•-f 动态读取
•举例
动态查看日志 tail -f err.log
•查看末尾10行日志 tail -10 err.log
•动态查看末尾5行日志 tail -5f err.log
du
•du:文件和目录的磁盘使用空间
•用法:du [选项][文件]
•主要参数:
•-s或--summarize 仅显示总计,只列出最后加总的值
•-h或--human-readable 以K,M,G为单位,提高信息的 可读性
•-k或--kilobytes 以KB(1024bytes)为单位输出
•-m或--megabytes 以MB为单位输出
•-S或--separate-dirs 显示个别目录的大小时,并不含其子 目录的大小
lsof
•lsof:列出当前系统打开文件的工具
•用法:lsof [options] filename
•常用参数:
•lsof filename 显示打开指定文件的所有进程
•lsof -c string 显示COMMAND列中包含指定字符的进程所有打 开的文件
•lsof -u username 显示所属user进程打开的文件
•lsof +d DIR/ 显示目录下被进程打开的文件
•lsof +D DIR/ 上,但是会搜索目录下的所有目录,时间相对较长
•lsof -i :80 查询指定端口打开的文件
•Lsof -p pid 查询指定的pid打开的文件

chgrp、chown

•chgrp:改变文件所属组
•用法:chgrp [选项] [组] [文件]
•主要参数:
•-R 递归
•注意:使用权限是超级用户
•chown:改变文件所有者和所属组
•用法:chown [选项] 用户或组 文件名
•主要参数: -R 递归式地改变指定目录及其所有子目录、文件 的文件主
•注意:使用权限是超级用户
•举例: chown -R test:test foo
wc
•wc:统计指定文件中的行数、字节数、字数,并将统计结果显示输出
•用法:wc [选项] [文件]
•主要参数:
•-c 统计字节数。
•-l 统计行数。
•-m 统计字符数。这个标志不能与 -c 标志一起使用。
•-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
•-L 打印最长行的长度。
•-help 显示帮助信息
•可以不加任何参数使用
•clear、history
•clear 清屏
•history 查看历史命令
•搜索命令
find
•find:查找目录下的文件
•用法: find 目标目录 搜索参数 操作参数
•主要参数:
•-name 文件名:可以跟通配符
•-amin 分钟数:文件最后访问时间为指定分钟之前,负数表示之后
•-atime 天数:文件最后访问时间为指定天数之前,负数表示之后
•-cmin 分钟数:文件最后修改时间为指定分钟之前,负数表示之后
•-ctime 天数:文件最后修改时间为指定天数之前,负数表示之后
•-user 用户名:属于用户的目录和文件
•-type 文件类型
•示例:
•find / -name besttest
•归档压缩命令
zip/unzip
•功能:压缩zip包和解压缩以.zip结尾压缩文件
•命令格式:
•  zip [选项] 压缩文件名 需要压缩的文档列表
•  -r 递归压缩,将指定目录下的所有文件以及子目录全部压缩
•-x “文件列表” 压缩时排除文件列表中指定的文件
•-m 将文件加入压缩文件压缩后,删除原始文件,即把文件移到压缩文件中
•- 压缩级别 压缩级别是一个1~9的数字
•可以不加任何参数使用
•  unzip [选项] 压缩文件名
•  -x "文件列表" 解压文件,但不包含文件列表中指定的文件
•-t 测试压缩文件有无损坏,并不解压
•-v 查看压缩文件的详细信息,具体包括压缩文件中包含的文件大小、文件名和压缩比等,并不解压
•-n 解压时不覆盖已经存在的文件
•-o 解压时覆盖已经存在的文件,并且不要求用户确认
•-d 目录名 把压缩文件解压到指定目录下
•可以不加任何参数
•示例:zip -9r /opt/etc.zip /etc #把/etc下所有文件和文件夹压缩到/opt下的etc.zip
•    zip –r /opt/var.zip /var –x “*.log”#把/var下所有的文件和文件夹除了以.log结尾的都压缩到/opt目录的var.zip中
•  unzip –o /opt/etc.zip –d /etc #把/opt/etc.zip解压到 /etc目录下
tar
•tar:文件打包
•用法 :tar[参数] 目标文件 源目录或文件
•主要参数:
•-c:创建新文档
•-x:解压缩归档文件
•-f 文件名:使用归档文件
•-j:使用bzip2解压缩
•-z:使用gzip解压缩
•-v:详细输出模式
•示例:
•tar zcvf test.tar test#压缩
•tar zxvf test.tar #解压缩
ps
•ps:显示瞬间进程 (process) 的动态,使用权限是所有使用者。
•主要参数: ps的参数非常多, 此出仅列出几个常用的参数
•-A或-e:列出所有的进程。
•-l:显示长列表。
•-m:显示内存信息。
•-w:显示加宽可以显示较多的信息。
•-f:显示不同进程之间的关系。
•a:显示终端上的所有进程,包括其它用户的进程。
•-au:显示较详细的信息。
•-aux:显示所有包含其它使用者的进程。
•常用的参数是-aux和-ef
•可以用管道符连接其他命令使用
•示例:
•ps -ef |grep httpd #查询Apache相关进

 

原文地址:https://www.cnblogs.com/muxia/p/5863757.html