title: “Linux常用命令” date: 2015-12-11 21:14:54 layout: post title: “Linux常用命令” date: 2015-12-11 22:14:54 categories: Linux tags: Linux命令 —
基本指令
pwd: 查看当前的工作目录cd: 目录跳转clear: 清屏loout: 登出(注销)shutdown -h: halt,关机后面跟关机时间,单位为分钟shutdown -r:reboot,重启后面跟重启时间,单位为分钟shutdown -k:发出警告,并未执行任何操作,单位为分钟shutdown -c:中止shutdown指令shutdown –h now:立即关机
vi指令
打开文件 :
vi filename:新建或打开文件,如果文件不存在则新建文件,反之则直接打开已存在文件vi + filename:打开文档并放置光标于最后一行vi +n(行号) filename:打开文档并放置光标与第n行vi +/string filename:打开文档并搜索指定关键词string高亮显示vi filename filename:同时编辑多个文件
命令模式:
^:放置光标与行首- $ :放置光标与行尾
yy:复制当前行p:粘贴dd:删除当前行u:撤销上一步
末行模式:
:q:(quit退出当前文档:w:保存当前文档:wq:保存并退出:q!:强制退出:w!:强制保存(编辑系统文件时,需要使用此命名):wq!:强制保存与退出:set nu:显示行号:set nonu:取消行号/string:搜索字符串string并高亮显示,匹配到后使用n跳到下一个:noh:取消高亮
软硬链接
ln [参数] <源文件或目录> <目标文件或目录> :创建软硬链接
-s :软链接文件
-d :硬链接文件
在创建时,必须使用绝对路径。软连接颜色为 浅蓝色,并显示的指向了源文件,而硬链接文件是没有变化的
USAGE
ln -s /root/test.txt /home/ruan.txt
ln -d /root/test.txt /home/ying.txt
//创建时:目标文件(ruan.txt ying.txt)是不存在的,是源文件test.txt创建连接时指定生成的。
此时:
- 这三个文件任何一个的内容修改都会影响到另外两个
- 软硬链接文件的删除只会影响自己,而不会影响到源文件和其他链接成员
- 源文件的删除只会影响到软链接文件,而不会影响硬链接文件
用户和组
/etc/group: 用户组信息档案/etc/gshadow: 用户组密码(新版不用了)档案/etc/passwd: 用户信息档案/etc/shadow: 用户密码信息档案
组相关shell指令:
groupadd 组名
-g添加组是指定组id:groupadd -g 502 myy
groupmod 组名
- -n :修改组名称
- -g : 修改组id
groupmod -g 503 -n woniu zuji #把 zuji 组的名字修改成woniu 且组id修改为503
groupdel 组名
用户相关shell指令:
useradd 【选项】 用户名
-g group_name: 添加用户时指定组名,若不指定,会生成和用户名一样的组信息-d home:添加用户是指定用户的家
#新增一个zuji用户,且指定其家为/home/user ,分组名为guser
useradd -d /home/user -g guser zuji
usermod 【选项】 用户名
-c comment: 修改用户的备注信息-l login_name: 修改用户名称-d home_dir: 修改用户的家-g group_name: 修改用户的所属组信息
#修改用户 woniu 的备注信息为info,家为/home/test ,且重命名为zuji
usermod -c info -l zuji -d /home/test woniu
userdel 【选项】 用户名
-r: 删除用户时,同时删除用户的家
userdel -r woniu
设置用户密码:
passwd 【选项】 用户名
-S:查看用户状态(大写的Status)-l:锁定帐号(lock)-u:解锁帐号(unlock)-d:删除密码(del)
# 给用户zuji设置密码
passwd zuji
禁止普通用户登录:
- 方式一:通过修改/etc/shadow,把在密码前面添加 !! 针对性的禁止
- 方式二:在/etc/下创建nologin文件,禁止所有普通用户登录
添加和删除组成员(附属组):
gpasswd 【选项】 组名
-a user_name: 添加用户到附属组中-d user_name: 从附属组中移除用户
#指定woniu组为用户zuji的附属组
gpasswd -d zuji woniu
赋予普通用户特殊权限:
vi /etc/sudoers
#给用户指定可以使用的特殊权限。命名所在目录必须是绝对地址,可以使用whereis进行查看
myy localhost=/sbin/shutdown
myy localhost=/usr/sbin/useradd
#由于该文件是只读文件,保存是需要加感叹号
其他:
su:切换用户 (root切换普通用户直接切换,普通切root需要密码)newgrp: 切换所属组whoami: 查看当前用户(基本没用了)chfn用户名称 :设置用户资料finger用户名称 :查看用户资料
文件管理
创建目录:
mkdir 选项 目录名称
-p:递归创建(比如创建多层目录,不加的话不能创建多层)-m:创建时指定目录权限(比如:644、755)
mkdir -m 777 -p ThinkPHP/Home
删除目录:
rmdir 选项 目录名
-p:递归删除
rmdir -p ThinkPHP/Home
创建文件:
vi 文件名 :创建文件并通过vi编辑器打开
touch文件名 : 创建文件但不打开
删除文件 :
rm 文件名
-r: 递归操作-f:删除时是否确认(添加此参数则不询问)
rm -rf text.txt
文件和文件夹的复制:
cp 【参数】 源文件路径 目标文件路径
-R:递归复制-p: 复制是保持文件的原有属性-v: 复制时显示复制进度
cp -Rpv test /home/test
文件和文件夹的移动和重命名:
mv 【参数】 源文件或目录 目标文件或目录
//把root下面的test目录移动到home目录下(剪切)
mv /root/test /home/
//把当前目录下的goods.php重命名为test.php(目录也是一样的)
mv goods.php test.php
搜索匹配行:
grep 【参数】 字符串 源文件
-n:显示行号 (匹配的结果前会显示所在行号)-c:统计所有匹配行 (只会显示一个匹配到的数量)-i:忽略大小写
grep -n -i index /usr/local/apache/conf/httpd.conf
显示文件内容:
cat <filename>: 正序输出文件内容
tac <filename>:倒序输出文件内容
查看文件权限:
ls :查看档案信息
-l: 以列表形式查看文件信息 等同于ll指令-a: 显示所有文件信息,包裹隐藏文件
更改文件权限:
chmod :更改文件权限(拥者权限 所属组权限 组外用户权限)
-R:递归修改
//把test.txt档案的文件权限修改为755
chmod -R 755 test.txt
chown :更改文件拥者
-R:递归修改
//把test.txt档案的拥有者修改为myy
chown -R myy test.txt
chgrp :更改文件所属组
-R:递归修改
//把test.txt档案的组修改为root组
chgrp -R myy test.txt
文件搜索:
find 目录列表 匹配参数 匹配标准
-name: 搜索指定名称的文件-group: 搜索指定组文件-user: 搜索指定用户文件
//在/root下查询名字包含keyword的文件--模糊查询
find /root -name '*keyword*'
//搜索/root目录下属于zuji组的文件
find /root -group zuji
//搜索/root下拥有者为root的文件
find /root -user root
查看磁盘信息
df
-l: 显示磁盘信息-h: 以1024进制显示-H: 以1000进制显示-T: 显示分区类型-t: 显示指定分区类型-x: 显示除指定分区类型以外的磁盘类型
df -lh -t ext3
文件统计
du 文件(夹)
-b: 以字节形式显示-k:以千字节形式显示--m: 以兆形式显示-h: 以1024进制显示-H: 以1000进制显示(新版用 –si进行代替)-s: 统计文件(夹)大小
du -k install.log
Linux软件
分类:
- .rpm :二进制软件包,编译后的软件
- .tar.gz :未编译软件包,必须通过GCC编译安装
rpm软件的管理
查看已安装:
rpm指令 -qa | grep 筛条件软件名称
rpm –qa | grep vim 在所有安装了的软件当中查找vim
卸载已安装:
rpm指令 –e 卸载软件名称
//必须手工输入名称,可以省略后面的版本号
rpm -e vim-enhanced
安装软件:
rpm指令 -ivh 软件名称
-i:安装软件-vh:显示详细安装进度