linux(vi)常用命令

时间:2022-12-10 14:04:00

常用操作

系统命令

  • 查看主机名
    hostname

  • 修改主机名(重启后无效)
    hostname yang

  • 修改主机名(重启后永久生效)
    vi /ect/sysconfig/network

  • 修改IP(重启后无效)
    ifconfig eth0 192.168.12.22

  • 修改IP(重启后永久生效)
    vi /etc/sysconfig/network-scripts/ifcfg-eth0

  • 查看系统信息
    uname -a
    uname -r

  • 查看ID命令
    id -u
    id -g
  • 查看有谁在线(哪些人登陆到了服务器)
    who 查看当前在线
    last 查看最近的登陆历史记录
  • 日期
    date
    date +%Y-%m-%d
    date +%T
    date +%Y-%m-%d" "%T

  • 日历
    cal 2017

  • 查看文件信息
    file filename

  • 挂载硬盘
    mount
    umount
    加载windows共享
    mount -t cifs //192.168.1.100/tools /mnt

  • 查看文件大小
    du -h
    du -ah

  • 查看分区
    df -h

  • ssh
    ssh hadoop@192.168.1.1

  • 关机
    shutdown -h now /init 0
    shutdown -r now /reboot

  • 重启
    reboot

路径的切换

  • 进入到用户根目录
    cd ~ 或 cd

  • 查看当前所在目录
    pwd

  • 进入到user用户根目录
    cd ~user

  • 返回到原来目录
    cd -

  • 返回到上一级目录
    cd ..

文件系统操作

  • ls /  查看根目录下的子节点(文件夹和文件)信息
  • ls -al   -a是显示隐藏文件 -l是以更详细的列表形式显示

创建文件

  • touch somefile.1    创建一个空文件
  • echo "i miss you,my baby" > somefile.2   利用重定向“>”的功能,将一条指令的输出结果写入到一个文件中,会覆盖原文件内容
  • echo "huangxiaoming ,gun dan" >> somefile.2    将一条指令的输出结果追加到一个文件中,不会覆盖原文件内容
  • cat a.txt > b.txt   将一个文件的内容复制到里另一个文件中
    追加内容
  • cat a.txt >> b.txt

创建文件夹

  • mkdir aaa   这是相对路径的写法
  • mkdir -p aaa/bbb/ccc    -p代表会创建所有不存在的文件夹
  • mkdir /data    这是绝对路径的写法

删除文件夹

  • rmdir    可以删除空目录
  • rm -r aaa    可以把aaa整个文件夹及其中的所有子节点全部删除
  • rm -rf aaa    强制删除aaa

移动文件

  • mv a.txt /ect/
    改名
  • mv b.txt a.txt
    移动并改名
  • mv a.txt ../b.txt

复制并改名

  • cp a.txt /etc/b.txt

查找

  • find -name "*.java"  将目前目录及其子目录下所有扩展名是java的文件列出来。

  • find -name *.java   查找当前目录下扩展名是java 的文件

查看文件内容

  • cat somefile 一次性将文件内容全部输出(控制台)
  • more somefile 可以翻页查看, 下翻一页(空格) 上翻一页(b) 退出(q)
  • less somefile 可以翻页查看,下翻一页(空格) 上翻一页(b),上翻一行(↑) 下翻一行(↓) 可以搜索关键字(/keyword)

  • tail -10 install.log 查看文件尾部的10行
  • tail -f install.log 小f跟踪文件的唯一inode号,就算文件改名后,还是跟踪原来这个inode表示的文件
  • tail -F install.log 大F按照文件名来跟踪

  • head -10 install.log 查看文件头部的10行

文件权限的操作

linux文件权限的描述格式解读
drwxr-xr-x (也可以用二进制表示  111  101  101 --> 755)

d:标识节点类型(d:文件夹  -:文件   l:链接)

  • r:可读 w:可写 x:可执行
  • 第一组rwx: 表示这个文件的拥有者对它的权限:可读可写可执行
  • 第二组r-x: 表示这个文件的所属组对它的权限:可读,不可写,可执行
  • 第三组r-x: 表示这个文件的其他用户(相对于上面两类用户)对它的权限:可读,不可写,可执行

  • 修改文件权限
  • chmod g-rw haha.dat 表示将haha.dat对所属组的rw权限取消
  • chmod o-rw haha.dat 表示将haha.dat对其他人的rw权限取消
  • chmod u+x haha.dat 表示将haha.dat对所属用户的权限增加x

也可以用数字的方式来修改权限
chmod 664 haha.dat
就会修改成 rw-rw-r--

  • 如果要将一个文件夹的所有内容权限统一修改,则可以-R参数

将当前目录下的所有文件与子目录皆设为任何人可读取:
chmod -R a+r *

  • 将a.txt 与b.txt设为其拥有者和其所属同一个组者可写入,但其他以外的人则不可写入:
    chmod ug+w,o-w a.txt b.txt

chmod a=wx c.txt

  • 将当前目录下的所有文件与子目录皆设为任何人可读取:
    chmod -R a+r *

  • 将a.txt的用户拥有者设为users,组的拥有者设为jessie:
    chown users:jessie a.txt

  • 将当前目录下的所有文件与子目录的用户的使用者为lamport,组拥有者皆设为users,
    chown -R lamport:users *

基本的用户管理

  • 添加用户
    useradd angela

  • 要修改密码才能登陆
    passwd angela 按提示输入密码即可

  • 为用户配置sudo权限
    用root编辑 vi /etc/sudoers
    在文件的如下位置,为hadoop添加一行即可
    root ALL=(ALL) ALL
    hadoop ALL=(ALL) ALL

vi文本编辑器

最基本用法

vi aa.txt 编辑aa.txt文件

  1. 首先会进入“一般模式”,此模式只接受各种快捷键,不能编辑文件内容
  2. 按i键,就会从一般模式进入编辑模式,此模式下,敲入的都是文件内容
  3. 编辑完成之后,按Esc键退出编辑模式,回到一般模式;
  4. 再按:,进入“底行命令模式”,输入wq命令,回车即可

常用快捷键

一些有用的快捷键(在一般模式下使用):
a  在光标后一位开始插入
A  在该行的最后插入
I  在该行的最前面插入
gg  直接跳到文件的首行
G  直接跳到文件的末行
dd  删除行,如果 5dd ,则一次性删除光标后的5行
yy  复制当前行, 复制多行,则 3yy,则复制当前行附近的3行
p  粘贴
v  进入字符选择模式,选择完成后,按y复制,按p粘贴
ctrl+v 进入块选择模式,选择完成后,按y复制,按p粘贴
shift+v 进入行选择模式,选择完成后,按y复制,按p粘贴

查找并替换
(在底行命令模式中输入)
%s/sad/88888888888888 效果:查找文件中所有sad,替换为88888888888888
/you 效果:查找文件中出现的you,并定位到第一个找到的地方,按n可以定位到下一个匹配位置(按N定位到上一个)