linux学习笔记(2)

来源:互联网 发布:阿里java校招面试 编辑:程序博客网 时间:2024/05/19 22:45

1. 目录结构

目录 说明 / 根目录 /bin 二进制文件、指令的存放地方 /boot 存放启动文件 /dev 设备文件(一切设备皆文件) /etc 系统配置文件 /home 普通用户的家目录,一个用户对应一个目录 /lib 库文件 /lib64 64位的库文件 /lost+found 出现异常(例如非法关机)时保存信息,通常是空的 /media 自动识别媒体设备的挂载点 /mnt mount,挂载点 /opt option,安装可选软件 /proc 虚拟的文件系统,可以映射硬件信息 /root root用户的home目录 /sbin 存放root用户才能使用的命令 /selinux selinux软件目录,保证用户的安全,通常关闭 /srv service,存放本机及本机服务器提供的数据或服务 /sys 系统运行时才有的目录(虚拟文件系统)存放硬件驱动信息 /tmp 存放临时的文件 /usr unix system resource 存放用户安装的软件(/usr/local) /var 系统产生的不可自动销毁的文件,如日志

2. ls

​ ls:显示当前目录下的所有文件

​ ls 目录的路径(绝对或相对):显示指定目录下所有文件

​ 参数:

​ -a: 显示指定目录下所有的文件,包括隐藏文件(隐藏文件都以.开头)

​ -l: 以列表的形式显示文件的详细信息(ls -l可简写为ll)

​ -R: 递归的显示所有目录下的所有文件

​ ll指令后每一列的含义:

drwxr-xr-x.  2 root root 4.0K 1017 00:34 skel第一列 'd':代表文件类型    其他文件类型  -:文件                d:目录                l:连接                c:字符设备                b:块设备第二列-第十列 'rwxr-xr-x':代表文件权限三个为一组,分别代表root用户,组用户,普通用户的权限,'r'表示可读,'w'表示可写,'x'表示可执行,'-'表示没有该位置对应的权限。第十一列 '.':无关紧要的,无意义,开启selinux后目录就会带这个点第十二列 '2':如果是文件,代表的是文件的硬链接个数,如果是目录,代表的是子目录的个数,示例中的文件是目录,所以表示有两个子目录第十三列 'root':这个文件的所属用户第十四列 'root':这个文件的所属组第十五列 '4.0k':文件大小(使用ls  -lh时,文件大小以人性化的方式显示)第十六列-第十八列 '10月 17 00:34':文件的创建或修改时间第十九列 'skel':文件名称

3. vi/vim

vim编辑器

安装:yum install -y vim

使用:因为所有操作都是在终端完成,是通过不同的模式切换来完成特定的功能。

  1. 命令模式:使用vim打开文件的默认模式
  2. 编辑模式:可以对文件的内容进行编辑的模式
  3. 底行模式:对文件进行保存,退出等操作的模式

vi的使用

  1. 简单使用:

    • vi 文件路径/文件名

    ​ 如果这个文件不存在,那么就会创建并且打开,如果这个文件存在

    • 直接打vi打开后,就进入了命令模式

    • 输入小写’i’,从命令模式切换到编辑模式

    • 编辑文件

    • 编辑完毕后,按下esc键,退出编辑模式到命令模式

    • 输入英文’:’, 从命令模式切换到底行模式,输入wq,保存并且退出。

  2. vi的一些简单操作

    • 命令模式——>编辑模式:

    i : 在光标处进入编辑模式

    I : 从光标所在行的第一个非空白字符开始编辑

    a : 从光标下一个字符开始进入编辑模式

    A : 从光标所在行行尾开始进入编辑模式

    o : 在光标所在行的下一行,新建一行开始编辑

    O : 在光标所在行的上一行,新建一行开始编辑

    s : 删除光标所在字符并且进入编辑模式

    S : 删除光标所在行并且进入编辑模式

    • 命令模式下的快捷键
快捷键 功能 gg 快速的将光标移动到第一行行首 G 快速的将光标移动到末行行首 ngg 将光标快速的移动到第n行行首 ^ 将光标快速的移动到第n行行首 $ 将光标快速的移动到该行行尾 dd 删除光标所在行 ndd 删除光标下n行(包括光标所在行) x: 向右删除一个字符(包含光标所在字符) nx 向右删除n个字符 X 向左删除一个字符(不包含光标所在字符) nX 向左删除n个字符 u :撤销刚才的操作 yy 复制光标所在行 nyy 复制光标下n行(包括光标所在行) p 粘贴复制的行 np 粘贴刚才复制的行n次 ctrl + f 下一页 ctrl + b 上一页 ctrl + d 下翻半页 ctrl + u 上翻半页 zt 将光标所在行顶行显示 top zb 将光标所在行底行显示 zz 将光标所在行居中显示
  • 底行模式指令
指令 作用 :set nu 显示行号 :set nonu 取消显示行号 :n 将光标定位到第n行 :w 保存 :w filename 另存为 :wq 保存退出 :x 保存退出 shift + zz 保存退出 :q! 强制退出 :e! 放弃修改,回到之前版本 查找字符串 :/字符串 按下回车键查找,按n键表示下一个,N表示上一个,从上到下一次查找。 :?字符串 按下回车键查找, n键表示上一个,N表示下一个,从上到下查找。 替换字符串指令 :s/旧字符串/新字符串 将光标所在行第一个匹配的替换 :s/旧字符串/新字符串/g 将光标所在行所有匹配的字符串替换 :n, ms/字符串/新字符串 替换第n-m行每行匹配的第一个字符串 :n, ms/字符串/新字符串/g 替换第n-m行匹配的所有字符串 :%s/字符串/新字符串 替换所有行的匹配到的第一个字符串 :%s/字符串/新字符串/g 替换所有行的匹配到的所有字符串
简便操作:    vi 1.txt   +5              打开文件将光标定位到第5行    vi  1.txt    +              打开文件光标到末行   注意事项:    非法关闭的时候,会产生一个交换文件    .1.txt.swp    vi -r 1. txt            会将上次写的内容直接写到文件中    但是每次打开会有一个ATTENTION,消除attention,只要将交换文件删除:        rm -f  .1.txt.swp创建一个配置文件(要保存在当前用户的home目录下):    .vimrc    vi  ~/.vimrc    立即生效:source ~/.vimrc    例如,创建一配置文件:    vi ~/.vimrc    写入指令':set un'    保存退出,这样以后用vi打开文件后,默认会显示行号。

4. 文件相关指令

  1. 文件、目录的创建,删除、拷贝、移动、查看
    • 创建:
    文件:vi  文件路径               文件不存在就会创建         touch   文件路径           可以同时创建多个,文件路径之间用空格隔开    目录:         mkdir  目录的路径                mkdir  -p  目录/目录/目录/目录          递归创建目录,中间目录一并创建
  • 删除:
    文件:rm  文件路径(会提示是否删除)           rm  -f    不提示,强制删除            【!:rm之后,永远找不回来,使用rm要慎重。一般都会先备份,文件名.backup】             通配符:rm *.txt    删除所有txt文件          rm *    删除所有文件    目录:rmdir   目录路径(只能删除空目录)        rm  -rf    目录路径       强制递归删除非空目录,不提示
  • 拷贝:
    文件:cp 源路径  目标路径                  (拷贝的同时可以修改文件名)    目录:cp  -r  源路径   目标路径        (同样可以修改名字)
  • 移动:
    mv  源路径   目标路径    (从当前移动到当前,可以间接实现重命名的需求)
  • 查看:
    文件:cat  文件名              -n  显示行号         tac  文件名            倒着打开文件         head  文件名    默认显示前100行               -n     指定显示前n行         tail   文件名        默认显示后十行               -n     指定显示后几行    如果文件较大:            more   文件名                按enter向下一行,空格向下翻页,不能向上看,按q退出查看            less 文件名                按enter向下走一行,空格向下翻页,pageup 向上翻页,pagedown向下翻页,q退出                   /字符串     查找,n下一个。

5. 文件系统

​ 文件系统就是文件管理系统的简称,不同的文件管理系统其存储数据的方式、读取数据的方式都是不同的,所以存同样的东西,不同的文件管理系统,存储的大小也不一样。

常见文件系统:

​ windows:

​ fat:fat6, fat32(大多用于u盘,单个文件不能超过4G), fat64(exfat,在mac,windows下都能读写)

​ ntfs———windows系统默认的文件格式

​ linux: ext, ext2, ext3, ext4

​ mac: hfs, hfs+, apfs

6. 用户和组

​ linux是多用户多组的操作系统。

    tail   /etc/passwd    查看所有用户    tail   /etc/group       查看所有组

​ 一个用户可以属于多个组

​ 一个组可以拥有多个用户

​ 【!:一个用户必须拥有且只能有一个主组】

用户:

创建:useradd 用户名

​ 系统所有用户在 vi /etc/passwd 里面存放

​ 创建用户之后,就会在/home目录多一个普通用户的home目录

​ -d: 指定家目录 useradd -d /home/abcd aaa

​ -u:指定用户id,一般情况下不指定

​ -g:指定主组,如果不指定,那么系统会自动为这个用户创建一个主组,该主组的名字和用户名一样,一般不指定。

​ 给普通用户添加密码

​ passwd 用户名

​ 只能在root用户下给普通用户添加密码

​ 普通用户可以使用 passwd ,回车,修改自己的密码

修改:usermod

​ -g: 修改主组 usermod -g 主组名 用户名

​ -u: 修改用户ID usermod -u id 用户名

​ -l: 修改用户名 uesrmod -l 新用户名 旧用户名

​ -d: 修改家目录(一般不用)

删除:userdel 用户名

​ 仅仅会删除/etc/passwd里面的记录,不会删除home目录

​ 如果都要删除,添加 -r (或手动删除)

组:

​ cat /etc/group 查看文件内容

创建组:groupadd

​ -g: 指定组id(一般不指定)

修改组:groupmod

​ -g: 修改组id

​ -n: 修改组名 groupmod -n 新名 旧名

删除组:groupdel 组名

​ 如果一个组是某个用户的主组,那么需要先删除这个用户后,才可以删除这个组

​ 如果一个组是系统自动为摸某个用户创建的,而且和用户名同名,那么删除这个用户的时候系统会自动将这个组也删除掉

​ 将用户添加到组里:

​ 一个用户必须有一个主组,还可以有很多附加组

​ usermod -a -G 组名 用户名

​ 从组中删除一个用户:

​ gpasswd -d 用户名 组名

原创粉丝点击