| 一、常用命令? 
 pwd --- 显示当前位置 cd ../ ----返回上级目录 cd / ------进入根目录 你是谁:whoami 查看当前系统内核 ---uname -a 切换用户 :su - 用户名 关机: shutdown ; halt ;poweroff 重启:reboot linux一切都从 / 根目录开始!!! . 当前目录,..上级目录? cd /user 这是绝对目录 cd . 这是相对目录 whereis nginx? ---- 查看nginx安装位置 uname -r? ?---- 显示内核版本 ?二、文件/目录操作---创建,查看,移动,重命名,删除,复制 
 创建目录: ? ? ? ? mkdir A? ? ? ? ? ? ? --创建A目录 ? ? ? ? ?mkdir A B C? ? ? ?---一次创建多个目录 ? ? ? ? mkdir -p A/B? ? ? ?---创建级联目录 比如A/B 创建文件 ? ? ? ? touch test.php? ? ? ---创建文件 ? ? ? ? vim test.php? ? ? ? ---打开并创建一个新文件 查看目录/文件信息 ? ? ? ? ls ? ----查看目录下内容 ? ? ? ? ls -l? ?---查看详细信息 ? ? ? ? ll? ? ? ?----查看详细信息 ? ? ? ? ls -a? ----显示所有文件,包括隐藏文件(以.开头的文件) 复制 ? ? ? ? cp /etc/password .? ? ?---复制etc目录下的password文件到 当前目录下 ? ? ? ? cp b a -R? ? ? ? ? ? ? ? ? ----递归复制b到a目录下 移动 ? ? ? ? mv test.php a/? ? ? ? ---移动test.php到a目录下 ? ? ? ? mv test.php a/tt.php? ? ----移动test.php文件到 a目录下,并改名为tt.php ? ? ? ? mv ./text.txt ./tt.txt? ? ? ?-----不移动位置,只是改名字,===重命名 删除: ? ? ? ? rmdir A? ? ----只删除空文件夹 ? ? ? ? rm test.php? ---删除文件 ? ? ? ? rm -r/-rf B? ? ?----递归删除不空的文件夹(-f是强制删除) ? ? ? 文件常用命令: ? ? ? ? >? ?输出重定向【覆盖原文件】 ? ? ? ? >> 输出重定向【追加原文件】 ? ? ? ? echo hello > test.txt? ? ?----将hello? 输出重定向到 test.txt文件中 ? ? ? ? echo world >> test.txt? ? ----将world输出重定向,追加到test.txt文件中 ? ? ? 显示文件内容的命令: ? ? ? ? more test.txt? ? ----显示文件内容 ? ? ? ? cat test.txt tt.txt? ? ---- 将两个文件内容合并连接起来输出到屏幕 ? ? ? ? cat test.txt tt.txt > te.txt? ?----将两个文件内容合并连接起来,重定向输出到te.txt中 ? ? ? ? grep nobody password? ? ----在password文件内,查找有无nobody字样 ? ? ? ? more tt.txt > ./test.txt? ? ?---将tt.txt文件内容,重定向输出到test.txt中 查看文件内容命令: ? ? ? ? more:【显示查看百分比,最后一页自动退出】 ? ? ? ? less:【与more类似,但不自动退出,要按q退出,ctrl+b往前翻,ctrl+f往后翻】 ? ? ? ? head:【查看文件前几行,比如,head -3 test.php】 ? ? ? ? tail :【查看文件后几行 tail -3 test.php】 ? ? ? ? cat :把文件内容连接起来打印到终端,或者用>覆盖到另一个文件 ? ? ? ? ? ? ? ? cat 文件1 文件2 ……文件n ---- n个文件全显示在屏幕上 ? ? ? ? ? ? ? ? cat 文件1 文件2……文件n > 文件n+1? ---n个文件内容写入到n+1文件中 ? ? ? ? grep:【匹配文件中的行】 ? ? ? ? ? ? ? ? grep 关键字 文件 文件查找命令: ? ? ? ? find ./a? -name "*txt"? ? ?----当前目录的a目录下,按照文件名查找,所有后缀为txt的文件 ? ? ? ? grep buy test.php? ? ? ?----test.php文件中查找关键词buy ? ? ? ? find ./a -name "*php" | xargs grep buy? ? ----管道式查找【xargs 表示,将前者查找出的内容作为grep后者的参数,即从a目录下查出来的php文件,又是grep去搜索关键词buy的目标文件】 find / -amin -10 查找在系统中最后10分钟访问的文件find / -atime -2 查找在系统中哦最后48小时访问的文件find / -empty 查找在系统中为空的文件或者文件夹find / -group cat 查找在系统中属于groupcat的文件find / -mmin -5 查找在系统中最后5分钟哦里修改过的文件find / -mtime -1 查找在系统中哦最后24小时里修改过的文件find / -nouser 查找在系统中属于作废用户的文件find / -user fred 查找在系统中属于 fred这个用户的文件。
 三、用户/组管理---创建组或用户,删除组或用户
  
 新建组/修改组/删除组: ????????groupadd? ??--增加一个用户组 ? ? ? ? ? ? ? ? groupadd -g 502 sanguo? --- 指定id新建组 ? ? ? ? ? ? ? ? groupadd snaguo? ---- 不指定ID新建组 ? ? ? ? groupmod? ?---- 修改组 ? ? ? ? ? ? ? ? groupmod -n 新名字 旧名字? --- 修改组的名字 ? ? ? ? ? ? ? ? groupmod -g 新组ID 组的名字? ?---修改组的ID ? ? ? ? groupdel? ?---- 删除一个组 ? ? ? ? ? ? ? ? groupdel yy ---- 删除用户组 yy 新建用户/修改用户/删除用户 ? ? ? ? useradd? ?--- 新建用户 ? ? ? ? ? ? ? ? useradd poliy? ----新建用户 poliy ? ? ? ? ? ? ? ? useradd poliy -g poliy? ? ----增加用户,指定组poliy 增加一个用户时,系统会自动创建一个与用户同名的组,因此,创建用户前,必须先创建组。 新建用户后,还不能立即使用,要先修改密码 ? ? ? ? password 用户名? --- 两次输入相同密码即可 用户信息在 /etc/passwd 文件里存储用户密码在 /etc/shadow 文件里加密存储组信息在 /etc/group 文件里存储
 你创建的用户,会自动为它创建一个家目录,这个目录放在 home/下,与用户名同名的目录。 如果,运行命令useradd 后,home目录下并没有出来时,可以选择运行 useradd -g ye -m yezi? 四、权限管理---查看或修改权限
 修改一个文件权限 ---chmod修改一个文件的主人 --- chown修改一个文件的组 --- chgrp
  
 修改权限的两种方法: ? 相对修改法:在原来权限的基础上,增加或减少权限绝对修改法:不管之前权限,直接赋予权限
 相对法修改文件权限: ? ? ? ? chmod u+x test.sh? ? ----给test.sh文件的用户增加可执行权限 ? ? ? ? chmod g-rwx test.sh? ---给test.sh文件的组,减少rwx三个权限 ? ? ? ? chmod o-r+w test.sh? ?----给test.sh文件的其他用户,减掉r,增加x 绝对法修改文件权限: ? ? ? ? chmod 744 test.sh? ? --- test.sh文件ugo的权限分别为 rwxr--r-- 修改文件主人: ? ? ? ? chown yezi y.php? ? ---改变y.php文件的主人为yezi 修改文件的组 ? ? ? ? chgrp ye y.php? ? ? ?---改变y.php的组为ye 五、进程管理---查进程,杀进程 
 ps -aux | grep nginx? ? ---查进程 杀进程: ? ? ? ? kill 进程号? ---通过进程号,杀进程(root运行) ? ? ? ? pkill -9 nginx? ? ---- 通过进程名杀进程 六、打包与解压--.gz .bz等压缩文件操作 
 打包是捆绑多个文件,压缩是减少文件容量,两者不一样 tar是打包,非压缩。 打包命令: ? ? ? ? tar cfv? t.tar? ? test.txt? ?--- 将test.txt打包成 t.tar? 【c是创建,f是文件,v是可视打包过程】 ? ? ? ? tar xfv t.tar? ?---- 解包 ? ? ? ? rm t.tar? ? ? ? ---删除打的包 打包压缩命令: ? ? ? ? tar cfvz b.tar.gz b? ?---- 打包压缩b成 b.tar.gz ? ? ? ? tar xfvz b.tar.gz? ? ?---解压b.tar.gz ? ? ? ? tar cfvj b.tar.bz b? ?---打包也所成 .bz格式 ? ? ? ? tar xfvj b.tar.bz? ? ?---解压 
 七、软件安装的方式---ubuntu下的apt 
 通过apt源安装的方式安装软件: ? ? ? ? apt-get install 软件名? ---- 可直接安装软件 ? ? ? ? apt-cache search 软件名? ---- 查找软件包里有没有这个软件 ? ? ? ? apt-get update? ? ? ? ? ? ? ? ---更新软件包 ? ? ? ? apt-get upgrade? ? ? ? ? ? ?----更新软件包的升级 软件源码包的编译性安装方式: ? ? ? ? wget url地址? ? ? ? ? ? ? -----下载软件的压缩包 ? ? ? ? tar xfz 压缩包? ? ? ? ? ? ?----解压 ? ? ? ? cd 解压包目录 ? ? ? ? ./configure --prefix=安装路径? ?---- 配置检测安装环境 ? ? ? ? make? ? ? ? ? ? ? ? ? ? ? ? ? -----编译,生成二进制 ? ? ? ? make install? ? ? ? ? ? ? -----编译安装 后两步可以合并,make&&make install 八、编辑器 --- vim的快捷操作vim编辑器有三种模式: 编辑模式命令模式尾行模式
 vim 打开一个文件时,首先停留在 命令模式【快捷键操作的模式】。 进入编辑模式:  
 ?i? ?----光标位置不变a? ? ---光标往后移动1位o? ? --光标跳下去一行s? ? ---删除当前一个字符,进入编辑模式
 切换尾行模式:  
 ? ? ? ? esc? --- 退出编辑模式,进入命令模式 ? ? ? ? :? ? ?----进入尾行模式 ? ? ? ? :q? ?---退出 ? ? ? ? :wq? ?-- 保存退出 ? ? ? ? :q!? ---- 强制退出 命令行模式:  
 u? ?--- 撤回上次操作 移动命令: ? ? ? ? 字符级别移动: ? ? ? ? ? ? ? ? h? --- 左移一个字符 ? ? ? ? ? ? ? ? l ---右移一个字符 ? ? ? ? 单词级别移动: ? ? ? ? ? ? ? ? w? --- 移动到下一个单词,词首 ? ? ? ? ? ? ? ? e? --- 移动到本单词词尾 ? ? ? ? ? ? ? ? b? -- 移动到本单词词首 ? ? ? ? 行级移动: ? ? ? ? ? ? ? ? $? ---移到行尾 ? ? ? ? ? ? ? ? 0? -- 移到行首 ? ? ? ? ? ? ? ? j --- 下移一行 ? ? ? ? ? ? ? ? k ---上移一行 ? ? ? ? ?段落移动: ? ? ? ? ? ? ? ? {? ----上移一段 ????????????????}? --- 下移一段 ? ? ? ? 屏幕级别移动: ? ? ? ? ? ? ? ? H? --- 移到本屏幕第一行 ? ? ? ? ? ? ? ? L? -- 移动到本屏幕最后一行 ? ? ? ? 文章级别移动: ? ? ? ? ? ? ? ? G? -- 移动到文章末尾 ? ? ? ? ? ? ? ? 1G? -- 移动到文章开头 :set nu? ----显示行号 :set nonumber? ?---不显示行号  
 命令模式下的快捷删除: ? ? ? ? d+光标快捷移动键? ---- d+w 就会删除一个单词 ? ? ? ? x? ---- 删除当前单个字符 ? ? ? ? dd? --- 删除一行 ? ? ? ? dd 3? --- 删除3行 命令模式下的复制: ? ? ? ? v+光标快捷键+y? ? ----v表示进入复制模式,选中要复制的内容,y表示复制上,然后移? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 动快捷键,p进行粘贴 ? ? ? ? yy? --- 复制一行 ? ? ? ? yny-----复制n行,n为数字 命令模式下的粘贴: ? ? ? ? p? --- 表示粘贴 命令组合: ? ? ? ? xp? ---交换两个字符 ? ? ? ? ddp --- 交行两行 其他命令: ? ? ? ? .重复上次命令 ? ? ? ? u撤销 ? ? ? ? J? 合并两行?? 九、常用端口号 
 ?ssh:22 ftp:21 Telnet:23 http:80 https:443 mysql:3306 十、系统命令 
 whoami? ? ? ----显示当前登陆者的用户名称 who? ? ? ? ? ? ?----显示谁在线 su? ? ? ? ? ? ? ----切换用户 【su后面加 - 和不加 -的主要区别,加-不仅切换到其他用户,且环境变量都切换成其他用户的,不加-的话,仅仅使用这个用户的权限,而不使用其他的。】? free? ? ? ? ? ---显示内存状态【-m 表示内存的状态用M为单位表示,-s 3 表示以秒为单位刷新】 ? ? ? ? free? -h? ? ? -----显示内存使用情况 ? ? ? ? free -m -s 3? ?---每3秒刷新,以M为单位,显示内存消耗情况 top? ? ? ? ? ---查看当前进程运行的详细信息【类似与windows下的资源管理器】 ps? ? ? ? ? ?---列出进程 ? ? ? ? ps -aux|grep nginx? ? ----查看nginx进程有无运行,若显示 master则表示正在运行  
 ?ctrl +c 终止 ctrl + D 退出 ctrl + s 挂起 ctrl + Q 解挂 ctrl + z 放在后端运行 有时候若遇到命令或程序卡死,可通过ctrl+z先把正在执行的命令或程序放在后端运行,然后用ps查看刚在执行的进程号,最后再用kill命令强制杀掉。 十一、文件挂载linux几乎把一切都看成是文件来处理,(甚至内存都看成文件来管理),那么,当我们的一个新设备,(比如USB、光盘)连上电脑后,我们也要想办法将此设备挂载到一个文件夹下,当成文件来管理。  
 ?cdrom? ---光驱,光盘 sda / sdb ----硬盘?【 /dev下】 挂载:mount /dev/sdb /mnt 查看是否挂载: ls /mnt? ?--显示有信息,则挂载成功 卸载挂载? ? --- umount /dev/sdb4 |