【】零的突破。问题经验丸。

Linux命令笔记一:Linux命令(一)

2019-11-19  本文已影响0人  开发者连小超

一、Linux目录树

Filesystem Hierarchy Standard(文件系统层次化标准)
/boot: 系统启动相关的文件,如内核、initrd,以及grub(bootloader)
/dev: 设备文件  
/etc:配置文件
/home:用户的家目录,每一个用户的家目录通常默认为/home/USERNAME
/root:管理员的家目录
/lib:库文件
/media:挂载点目录,移动设备
/mnt:挂载点目录,额外的临时文件系统
/opt:可选目录,第三方程序的安装目录
/proc:伪文件系统,内核映射文件
/sys:伪文件系统,跟硬件设备相关的属性映射文件
/tmp:临时文件, /var/tmp
/var:可变化的文件,数据日志等
/bin: 可执行文件, 用户命令
/sbin:管理命令

二、Linux命令

Linux分为内部命令和外部命令

#内部命令
type cd
#结果 cd is a shell builtin 

#外部命令
type ifconfig
#结果 ifconfig is /sbin/ifconfig 

内部命令用help去查看,外部命令可以用man学习

yum install man man-pages
man ifconfig

whereis 定位外部命令在哪

whereis ifconfig

file 查看文件信息

file /sbin/ifconfig
#结果 /sbin/ifconfig: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
#ELF是二进制编码可执行程序 

取环境变量PATH值,使用$

echo $PATH #大小写敏感
#结果 /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
#冒号分割每个路径

三、文件操作命令

df 显示磁盘使用情况

df -h 
#h 显示文件大小单位为M

du 显示文件系统使用情况

du -sh ./* 
#查看这个目录下所有元素占比

ls 显示目录

ls -l
  -rw-------. 1 root root  900 Nov 18 21:33 anaconda-ks.cfg
  -rw-r--r--. 1 root root 8815 Nov 18 21:33 install.log
  -rw-r--r--. 1 root root 3384 Nov 18 21:32 install.log.syslog

  -rw-r--r- 第一位代表文件类型   rw- 用户权限  -r-组权限  -r-其他人权限
  文件类型:- 表示普通文件  d表示目录  b或c表示设备文件(字节型设备/字符型设备)
  1表示硬链接数量 root用户 root用户组

cd 切换工作目录

cd /etc 跳转到指定文件夹
cd 回用户自己的家
cd - 退回
cd ~god 回到普通用户的家(root才有这个权限)

pwd 显示当前工作目录

pwd 当前路径

mkdir 创建目录

mkdir abc
mkdir -p ./a/b/c 深度创建目录
mkdir ./abc/{x,y,z}dir 水平创建目录

rm 删除

rm xxxx 需要输入yes删除
rm -f xxxx 强制删除,不需确认
rm -r a 递归删除,直接删除目录会报错
rm -rf a 强制递归删除,不需确认

cp 拷贝

cp install.log /tmp
cp -r a temp 递归拷贝   

mv 移动

mv anaconda-ks.cfg /tmp 剪切
mv install.log ooxx 重命名

ln 链接

ln 快捷方式/链接,修改一个另一个会变化
# -rw-------. 1 root root  900 Nov 18 21:33 anaconda-ks.cfg 里面数字描述 硬链接数量

ln install.log ooxx.txt 
#硬链接 类似java两个引用指向一个对象,删除时只会删除引用方式,底层物理文件不会变化

ln -s sxt.txt bjsxt.log
#软链接 类似于windows里的快捷方式

stat 元数据

stat profile #查看文件元数据
  File: `profile'
  Size: 1796            Blocks: 8          IO Block: 4096   regular file
  Device: 803h/2051d      Inode: 9961475     Links: 1
  Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
  Access: 2019-11-19 18:26:35.653171729 +0800
  Modify: 2019-11-19 18:26:35.653171729 +0800
  Change: 2019-11-19 18:26:35.654171903 +0800

  Change描述文件元数据发生变化时间
  Modify记录内容被修改时间
  Access记录访问时间

touch

touch 一个文件会把元数据触摸为新的时间点
touch bluaa.txt 会新建一个空的文本文件

四、文本操作命令

0.文本模式:

编辑模式:按键具有编辑文本功能:默认打开进入编辑模式
输入模式:按键本身意义
末行模式:接受用户命令输入

编辑 --> 输入:
    i: 在当前光标所在字符的前面,转为输入模式;
    I:在当前光标所在行的行首,转换为输入模式
        
    a: 在当前光标所在字符的后面,转为输入模式;
    A:在当前光标所在行的行尾,转换为输入模式

    o: 在当前光标所在行的下方,新建一行,并转为输入模式;
    O:在当前光标所在行的上方,新建一行,并转为输入模式; 
        
输入 --> 编辑:
    ESC
编辑 --> 末行:
    :
末行 --> 编辑:
    ESC, ESC

1.查看文本命令

#读文件
cat /etc/profile  
#先显示一屏,按回车多显示下一行,按空格往下翻,按b往回翻,翻到最后退出
more /etc/profile 
#先显示一屏,按回车多显示下一行,按空格往下翻,按b往回翻,翻到最后不退出,按q退出
less /etc/profile 
#显示头部10行
head /etc/profile 
#显示头部2行
head -2 /etc/profile 
 #显示尾部10行
tail /etc/profile
#显示尾部2行
tail -2 /etc/profile 
#实时查看
tail -f /etc/profile 

管道 |

#只显示第四行
head -4 /etc/profile | tail -1
ls -l /ect | more
    
echo "/" | xargs ls -l
#xargs从标准输入得到内容,给后面命令作为参数,执行后面命令
xargs:
命令
1.在标准输入中读取到的内容!
2.自己的参数理解为一个字符串,模仿shell,做blank切分,第一个子字符串为命令
3.将步骤1的内容做为步骤2的命令的选项参数拼接起来
4.执行得到的结果

2.编辑文本命令 vi

打开文件

#打开文件
vi /etc/profile 
#打开后光标直接定位到了22行  
vi +22 /etc/profile  #:set nu 查看行
#打开文件,定位至最后一行
vi + /etc/profile 
#打开文件,定位至第一次被pattern匹配到的行的行首
vi +/pattern /etc/profile  

关闭文件

编辑模式:按Shift+zz 保存并退出,不需要冒号。
末行模式:
:q  退出  没有动过文件
:wq 保存并退出   动过了,不后悔
:q! 不保存并退出  动过了,后悔了
:w 保存
:w! 强行保存
:wq --> :x

编辑模式键盘功能

光标移动 h: 左;j: 下;k: 上;l: 右
单词
    w: 移至下一个单词的词首
    e: 跳至当前或下一个单词的词尾
    b: 跳至当前或前一个单词的词首
行内
    0: 绝对行首
    ^: 行首的第一个非空白字符
    $: 绝对行尾
行间
    G:文件最后一行
    3G:第3行
    gg:文件开头
翻屏
    ctrl:f,b
删除&替换 单个字符
    x:删除光标位置字符
    3x:删除光标开始3个字符
    r:替换光标位置字符
删除命令 : d 
    dw 删单词 
    2dw 删n个单次
    dd 删行
    2dd 删n行
复制粘贴&剪切 
    yw 复制单词
    2yw 复制n个单词
    yy 复制1行 
    2yy 复制n行 
    p 向下粘贴
    P 向上粘贴
撤销&重做
    u   撤销
    ctrl+r  重做 撤销的操作

末行模式操作(Shift+:)

:set nu
:set nonu
:set readonly
查找
:/ooxx
n向下找,N向上找
s查找并替换
s/str1/str2/gi
#2到末行 替换after
:2,$s/after/before/gi
#/:临近s命令的第一个字符为边界字符:/,@,#
#g:一行内全部替换
#i:忽略大小写
        
#范围
#n:行号
#.:当前光标行
#+n:偏移n行
#$:末尾行,$-3
#%:全文

键盘功能配合查找功能
:1,$y 复制第1行到最后一行
:2,.y 复制第2行到当前光标行
:2,.d 删除第2行到当前光标行
上一篇 下一篇

猜你喜欢

热点阅读