圣泉山人 后端开发工程师

Linux常用命令

2015-12-11


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:显示详细安装进度

上一篇 PHP生成二维码

下一篇 LAMP环境搭建

Comments

Content