linux初学 :linux 常用命令(一)
首先,是关机/重启命令,仅在虚拟机时使用,实际工作中用不到
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
reboot 一般不跟参数使用,输入指令即可重启 shutdown 一般需要跟参数,例: shutdown -r 延时多少分钟重启,一般使用now shutdown -r now 立即重启 shutdown -f 强制重启
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
跟windows一样,linux也存在注销功能
exit
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1)halt halt 可不接参数 halt -f 强制关机 2)poweroff poweroff 可不接参数使用 poweroff -f 强制关机 3)init 0 4)shutdown 不可单独使用 shutdown -h 分钟数 延时多久关机 shutdown -h now 立即关机
最最常用的是cd 命令
cd 进入用户主目录; cd ~ 进入用户主目录; cd - 返回进入此目录之前所在的目录; cd .. 返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思); cd ../.. 返回上两级目录;
新建文件夹和文件:mkdir touch
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
mkdir 创建文件夹 mkdir dirname 直接跟文件夹名,可在当前目录下创建文件夹 mkdir /opt/lamp/dirname 可跟路径 mkdir -p /opt/lam/dirname 假如lam不存在,需要用-p才可以创建该文件夹 touch 新建文件 touch dilename 可直接跟文件名在当前目录下创建新的文件
cat/less/more/tail等文件查看命令
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
-n或-number:有1开始对所有输出的行数编号; -b或--number-nonblank:和-n相似,只不过对于空白行不编号; -s或--squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行; -A:显示不可打印字符,行尾显示“$”; -e:等价于"-vE"选项; -t:等价于"-vT"选项;
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
-e:文件内容显示完毕后,自动退出; -f:强制显示文件; -g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度; -l:搜索时忽略大小写的差异; -N:每一行行首显示行号; -s:将连续多个空行压缩成一行显示; -S:在单行显示较长的内容,而不换行显示; -x<数字>:将TAB字符显示为指定个数的空格字符。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
-<数字>:指定每屏显示的行数; -d:显示“[press space to continue,'q' to quit.]”和“[Press 'h' for instructions]”; -c:不进行滚屏操作。每次刷新这个屏幕; -s:将多个空行压缩成一行显示; -u:禁止下划线; +<数字>:从指定数字的行开始显示。 按Space键:显示文本的下一屏内容。 按Enier键:只显示文本的下一行内容。 按斜线符|:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。 按H键:显示帮助屏,该屏上有相关的帮助信息。 按B键:显示上一屏内容。 按Q键:退出rnore命令。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
--retry:即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项“——follow=name”连用; -c或——bytes=:输出文件尾部的N(N为整数)个字节内容; -f或;--follow:显示文件最新追加的内容。“name”表示以文件名的方式监视文件的变化。“-f”与“-fdescriptor”等效; -F:与选项“-follow=name”和“--retry"连用时功能相同; -n或——line=:输出文件的尾部N(N位数字)行内容。 --pid=<进程号>:与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令; -q或——quiet或——silent:当有多个文件参数时,不输出各个文件名; -s<秒数>或——sleep-interal=<秒数>:与“-f”选项连用,指定监视文件变化时间隔的秒数; -v或——verbose:当有多个文件参数时,总是输出各个文件名; 一般tail命令最常用的-n和-f,例: tail filename 读取filename最后10行内容 tail -f filename 实时动态读取filename最后10行内容 tail -20f filename 实时动态读取filename最后20行内容
cat和less及more指令相似,cat是一次性读取所有内容,文件内容较多时速度较慢。less与more的区别在于:less可以前后翻页查看,more只能向前翻页查看。
tail则用于实时获取log信息,从后向前读取内容
上述四种命令均可跟grep搭配使用cat/less/tail |grep mysql
查看文件大小的命令 du/df
du -sh * 显示当前目录下所有文件的大小
du -sh filename 显示该文件大小
du -sh 显示当前目录所占空间大小 -s或 仅显示总计,只列出最后加总的值。 -h或 以K,M,G为单位,提高信息的可读性。
df 显示磁盘占用信息 直接df默认一k为单位 df -lh 显示本地系统的占用信息,以K,M,G为单位
大重点--文本编辑器 vi
vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。
Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。
vi编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令,要正确使用vi编辑器就必须熟练掌握着两种模式的切换。
默认情况下,打开vi编辑器后自动进入命令模式。从编辑模式切换到命令模式使用“esc”键,从命令模式切换到编辑模式使用“A”、“a”、“O”、“o”、“I”、“i”键。
vi编辑器提供了丰富的内置命令,有些内置命令使用键盘组合键即可完成,有些内置命令则需要以冒号“:”开头输入。常用内置命令如下:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 Ctrl+u:向文件首翻半屏; 2 Ctrl+d:向文件尾翻半屏; 3 Ctrl+f:向文件尾翻一屏; 4 Ctrl+b:向文件首翻一屏; 5 Esc:从编辑模式切换到命令模式; 6 ZZ:命令模式下保存当前文件所做的修改后退出vi; 7 :行号:光标跳转到指定行的行首; 8 :$:光标跳转到最后一行的行首; 9 x或X:删除一个字符,x删除光标后的,而X删除光标前的; 10 D:删除从当前光标到光标所在行尾的全部字符; 11 dd:删除光标行正行内容; 12 ndd:删除当前行及其后n-1行; 13 nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字; 14 p:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方; 15 P:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方; 16 /字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示; 17 ?name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示; 18 a,bs/F/T:替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串。其中,“s/”表示进行替换操作; 19 a:在当前字符后添加文本; 20 A:在行末添加文本; 21 i:在当前字符前插入文本; 22 I:在行首插入文本; 23 o:在当前行后面插入一空行; 24 O:在当前行前面插入一空行; 25 :wq:在命令模式下,执行存盘退出操作; 26 :w:在命令模式下,执行存盘操作; 27 :w!:在命令模式下,执行强制存盘操作; 28 :q:在命令模式下,执行退出vi操作; 29 :q!:在命令模式下,执行强制退出vi操作; 30 :e文件名:在命令模式下,打开并编辑指定名称的文件; 31 :n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件; 32 :f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例; 33 :set nu:在命令模式下,用于在最左端显示行号; 34 :set nonu:在命令模式下,用于在最左端不显示行号; 35 :1,3y 复制第一行到第三行 36 :1,3d 删除第一行到第三行 37 :1,3s/str/str_new/g 替换第一行到第三行中的字符串 38 :1,3s/str/str_new 替换第一行到第三行中的字符串第一个字符 39 :1,3 g/str /d 删除第一行到第三行中含有这个字符串的行
移动文件及文件夹 mv/cp
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
mv 类似于windows下的剪切 mv aaa /etc/udev 讲aaa移动至/etc/udev目录下 mv /opt/lampp /etc/udev 将/opt目录下的lampp移动至/etc/udev目录下 mv -r aaa /etc/udev 将aaa文件夹递归移动至/etc/udev目录下,不加-r会出错 mv aaa bbb 将aaa改名为bbb -b:当文件存在时,覆盖前,为其创建一个备份; -f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录; -i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。 -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
-f:强行复制文件或目录,不论目标文件或目录是否已存在; -i:覆盖既有文件之前先询问用户; -s:对源文件建立符号连接,而非复制文件; -R/r:递归处理,将指定目录下的所有文件与子目录一并处理 用法与mv基本相似 cp 路径1 路径2
重定向 >
cat aaa.txt > bbb.txt 将aaa的内容写入bbb中,覆盖写入 cat aaa.txt >> bbb.txt 讲aaa的内容追加写入bbb中,不覆盖原来内容 > bbb.txt 将bbb清空
权限管理 chmod
chmod -R 给文件夹下所有的文件赋权限,递归处理
chmod u+x,g+w f01 //为文件f01设置自己可以执行,组员可以写入的权限 chmod u=rwx,g=rw,o=r f01 给所属用户添加读写执行权限,给组添加读写权限,给其他用户添加读权限 chmod 764 f01 以数字的方式赋予所属用户/用户组/其他用户权限r=4,w=2,x=1 chmod a+x f01 //对文件f01的u,g,o都设置可执行属性,a代表all
删除命令 rm
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
一般都用rm -rf aaa -r 递归删除 -f 强制删除,不询问
rm使用时需要谨慎,公司服务器删错就完犊子了
查看服务
top也可查看进程信息,而且是动态显示
whoami 查看当前登陆用户
who 查看多少用户在使用系统
date查看系统时间,可跟时间格式使用
cal查看日历,可跟年份,查看指定的年份
chkconfig --list #查看系统服务启动
chkconfig iptables on #开机启动该服务
chkconfig iptables off #开机不启动该服务
service iptables start #启动该服务
service iptables restart #重启启该服务
ps -ef|grep mysql|grep -v grep|awk '{print $2}' ps -ef|grep mysql 是查询mysql服务的进程 |后的grep -v grep 是匹配不包含grep的行 awk是取查询结果的第几列,awk '{print $2}'则是取第二列的值
grep 无参数则显示匹配的行 -c 显示匹配的行数 -v 显示不匹配的行
杀掉进程 kill 命令
ps -ef|grep mysql|wc -l 统计查询出的mysql进程的行数
find -name 后跟文件名,可查看文件所在目录,可跟user,查看属于user的文件 find -name filename 查找filename所在目录 find -name name* 查找开头为name的文件所在目录 find -name *name 查找结尾为name的文件所在目录 find -name *name* 查找包含name字符串的文件所在目录 find -user faith 查看用户faith的文件
locate用法与find基本相似,只是locate搜索速度较快些,locate一般系统不会自带,需要安装,可用yum安装