linux常用命令
linux切换用户 $ 为普通用户
su root 切换为root用户 输入 su root 后会让你输入密码 输入密码后 # 就代表你是超级用户了
> su - //切换为超级管理员root用户(账号和权限都是root)
> su - root //与上边指令效果一直
> su root //账号是root,权限是普通权限
> exit //退回到之前的账号
> su 普通用户 //切到账号为具体普通用户
查看当前用户是谁 > whoami //查看正在操作用户信息 > who am i //查看登录系统用户信息
cd [目录名] 切换当前目录至dirName
cd / 切换到根目录
cd - 进入上一次工作路径 cd .. 向上级目录切换
pwd 查看当前工作目录路径
ls 通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等
> ls //list列出当前目录下的文件信息
> ls -l 或 ll //list list以详细信息形式 列出当前目录下的文件信息
> ls -a //list all 列出当前目录的全部文件(包括隐藏文件)
> ls -al //以详细信息形式 列出当前目录的"全部"文件(包括隐藏文件)
> ls 目录 //查看指定目录的文件信息
> ls -li //显示当前目录详细的文件信息,并显示“索引编号”
ps process status用来查看当前运行的进程状态,一次性查看 静态的
top 动态查看进程 显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等
-A 显示所有进程 a 显示所有进程 -a 显示同一终端下所有进程
df 显示磁盘空间使用情况。获取硬盘被占用了多少空间,目前还剩下多少空间等信息,如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。
clear 清除屏幕
mkdir 创造文件夹
> mkdir 目录名称
> mkdir -p newdir/newdir/newdir (-p) //递归方式创建多级目录
mkdir dir/dir/newdir 无需-p参数
mkdir -p dir/newdir/newdir 需要-p参数
规律:新的目录超过两个或以上就需要-p参数
rmdir 删除文件夹
> rmdir dir //删除目录,删除单级目录
cat 一次显示整个文件:cat filename 从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.将几个文件合并为一个文件:cat file1 file2 > file
touch 创建文件
功能说明:改变文件或目录时间。
语 法:touch [-acfm][-d <日期时间>][-r <参考文件或目 录>][-t <日期时间>] [--help] [--version][文件或目录...] 或 touch [-acfm][--help][--version][日期时 间][文件或目录...]
补充说明:使用touch指令可更改文件或目录的日期时间,包括存取时间和更改时间。
参 数:
-a或–time=atime或–time=access或–time=use 只更改存取时间。
-c或–no-create 不建立任何文件。
-d<时间日期> 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m或–time=mtime或–time=modify 只更改变动时间。
-r<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同。
-t<日期时间> 使用指定的日期时间,而非现在的时间。
例:touch test.txt (注:Linux下没有文件后缀名区分文件类型之说,系统文件类型只有可执行文件和不可执行文件)
rm 删除文件
> rm filename //删除文件
> rm -r dir //recursive通过递归方式删除一个目录
> rm -rf filename //force 递归、强制删除任何文件
> rm -rf / //kill you by yourself
mv 可以用来移动文件或者将文件改名
mv a.php b.php 文件改名
mv dir1 dir2 //把dir1的名字改为dir2 mv dir1/dir2 dir3/newdir //dir2移动到dir3下并改名字为newdir
mv b.php test3 移动文件
mv dir1 dir2 //把dir1移动到dir2目录下 mv dir1/dir2 dir3 //dir2移动到dir3的下边
cp 源文件(source) 目标文件(destination) 复制粘贴
cp p.php c.php 复制p.php 粘贴并改名为c.php
cp -rf /www/cmswhd/conf/ /www/cms.manager/core/conf/ 复制文件夹
> cp file dir //把file文件复制到dir目录里边
> cp dir1 dir2 -R //recursive递归复制,复制目录设置统一参数-R
> cp dir1/dir2 dir3 -R //dir2复制到dir3下一份
> cp (-R) filename dir/newname //filename文件复制到dir下并改名字为newname
chmod 用于改变linux系统文件或目录的访问权限。
① 字母相对方式设置权限
u主人权限,g同组权限,o其他组权限
+:增加权限
-:减少权限
> chmod u+rwx filename //给文件主人增加读、写、执行权限
> chmod u+x filename //给文件主人增加执行权限
> chmod u+rw filename //给文件主人增加读、写权限
> chmod u+r,g+wx,o+w filename //同时给文件的主人、同组用户、其他组用户增加权限
> chmod u+r,o+w filename //同时给文件的主人、其他组用户增加权限
> chmod u-wx filename //给文件主人删除写、执行权限
> chmod u-wx,o-rx filename //同时删除文件主人、其他组用户权限
> chmod u+rw,u-x,o+wx,g-x,g+w filename //增加、删除权限可以同时操作
② 数字绝对方式设置权限
read:4
write:2
execute:1
0:没有权限
1:执行
2:写
3:写、执行
4:读
5:读、执行
6:读、写
7:读、写、执行
chmod ABC filename //A(user)B(group)C(other)代表三个数字
> chmod 764 filename //主人(rwx)同组(rw)其他(r)
字母相对、数字绝对设置权限的选取:
① 权限变动较少,使用字母相对方式
② 权限变动较多,使用数字绝对方式
find 用于在文件树中查找文件,并作出相应的处理
> find / -name passwd //在根目录下查找名字为passwd的文件
(遍历系统的全部目录查找,效率极低)
> find ./ -maxdepth 1 -name "*y*" //查找名字里边有y字样的文件,查找深度为1层
> find / -maxdepth 4 -mindepth 3 -name passwd //在3-4个目录层次之间 查找名字为passwd文件
> find ./ -size 10c //在当前目录查找文件大小为10字节
> find ./ -size +4k //查找大于4k大小的文件
> find ./ -size -100c //查找小于100字节大小的文件
kill 杀掉进程
date 显示或设定系统的日期与时间
shutdown 关机命令
-c 取消上一个关机命令 -h 关机 -r 重启
shutdown -h now 现在马上关机 shutdown -h 20:30 晚上8:30定时关机
shutdown -r now 现在马上重起 shutdown -r 20:30 晚上8:30定时重起
crontab的基本格式:
* * * * * command
星号分别为:分 时 日 月 周
特殊的符号就是* / - :
-
代表所有的取值范围内的数字
/ 代表每的意思
*/5 表示每5个单位
-
代表从某个数字到某个数字
, 分开几个离散的数字
例子
0 3 * * * /root/test.sh 每天凌晨3点执行test.sh文件
* 23-7/1 * * * /root/lnmp restart 晚上11点到早上7点之间,每隔一小时重启lnmp套件
*/30 * * * * /usr/sbin/ntpdate 每半小时同步一下时间
0 23 * * 6 /lnmp restart 每星期六的11 : 00 pm重启重启lnmp套件。
*/1 * * * * echo “i am running.”>>/tmp/running.txt 每隔1分钟向/tmp/running.txt写一个”i am running.”字符串
service nginx restart 重启nginx服务
service php-fpm restart 重启php服务
sz 服务器下下载文件
rz 服务器上传文件
tar -zcvf /home/xahot.tar.gz /xahot
vim 命令
vim b.php 进入vim编辑器
i 进行编辑
Esc 退出i(插入)命令进行其他命令使用 进入命令模式
1. 命名模式----->编辑模式
a:光标向后移动一位
i:光标、内容没有变化
o:向下起新行进入编辑模式
s:删除光标当前的字符进入编辑模式
2. 尾行模式操作
:q 退出编辑
:w 对修改后的文档进行保存
:wq 保存并退出
:q! 强制退出,不保存修改
:w! 强制保存(对文件没有写权限,要进行修改保存的措施)
:wq! 强制保存并退出
:set number 或 nu //设置行号
:set nonumber 或 nonu //取消行号
:/内容/ 或 /内容 //内容查找,"n"向下查找,"N"向上查找
:数字 //光标定位到数字代表的行
:s/cont1/cont2/ //cont1替换为cont2,替换当前行第一个"cont1"
:s/cont1/cont2/g //当前行全部cont1替换为cont2
:%s/cont1/cont2/g //替换整个文档的cont1为cont2
3. 命令模式操作 按esc进入
1) 光标移动
① 字符级移动
"上下左右"键移动
h左 j下 k上 l右
② 单词级移动
w: 下个单词的首字母
b: 上个(本)单词的首字母
e: 下个(本)单词的尾字母
③ 行级
$: 行尾
0: 行首
④ 段落
{:上个(本)段落首部
}:下个(本)段落尾部
⑤ 屏幕级(不翻屏)
H: 屏幕首部
L: 屏幕尾部
⑥ 文档级
G: 文档尾部
1G: 文档首部
n+G: 文档的第n行
2) 内容删除
dd: 删除光标所在行
n+dd: 当前行算在内,向下删除n行
x: 删除光标所在的当前字符
c+w 从当前位置删除至单词尾部,并“进入编辑模式”
d+光标移动区域: 删除光标经过的内容
d+e //从当前位置删除至单词的结尾
d+$ //从当前位置删除至当前行的结尾
d+} //从当前位置删除到当前段落的结尾
d+nG //从当前行删除到第n行
3) 内容复制
yy: 复制光标所在行
n+yy: 当前行算在内,向下复制n行
p 对“复制、删除”的内容进行粘贴操作
y+光标移动区域: 复制光标经过的内容
y+e //从当前位置复制至单词的结尾
y+$ //从当前位置复制至当前行的结尾
y+} //从当前位置复制到当前段落的结尾
y+nG //从当前行复制到第n行
4) 快捷操作
r+字符 快速替换单个字符
u 撤销undo
. 点,重复执行上一次命令
J 大写J,合并两行
set nu 显示行数
:100 直接跳到100行
curl ifconfig.me 查看服务器外网ip
/search 向下搜索
?search 向上搜索
全选(高亮显示):按esc后,然后ggvG或者ggVG
全部复制:按esc后,然后ggyG
全部删除:按esc后,然后dG
解析:
gg:是让光标移到首行,在vim才有效,vi中无效
v : 是进入Visual(可视)模式
G :光标移到最后一行
选中内容以后就可以其他的操作了,比如:
d 删除选中内容
y 复制选中内容到0号寄存器
"+y 复制选中内容到+寄存器,也就是系统的剪贴板,供其他程序用