一、常用命令?
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
|