Linux基础入门

参考教程:Linux 基础入门(新版)


若有不明白的,欢迎留言

  1. Shell 常用快捷键:
    ctrl+d 键盘输入结束或退出终端
    ctrl+s 暂停当前程序,暂停后按下任意键恢复运行
    ctrl+z 将当前程序放到后台运行,恢复到前台为命令fg
    ctrl+a 将光标移至输入行头,相当于Home键
    ctrl+e 将光标移至输入行末,相当于End
    ctrl+k 删除从光标所在位置到行末
    alt +Backspace 向前删除一个单词
    shift+PgUp 将终端显示向上滚动
    shift+PgDn 将终端显示向下滚动

  2. Shell 常用通配符:
    *匹配 0 或多个字符
    ? 匹配任意一个字符
    [list] 匹配 list 中的任意单一字符
    [^list] 匹配 除list 中的任意单一字符以外的字符
    [c1-c2] 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z]
    {string1,string2,...} 匹配 string1 或 string2(或更多)其一字符串
    {c1..c2} 匹配c1-c2中全部字符 如{1..10}

  3. Shell 查看命令手册:
    man
    例如:man man
    为了便于查找,man手册被进行了分册(分区段)处理,分为8个区段:
    1 一般命令
    2 系统调用
    3 库函数,涵盖了C标准函数库
    4 特殊文件(通常是/dev中的设备)和驱动程序
    5 文件格式和约定
    6 游戏和屏保
    7 杂项
    8 系统管理命令和守护进程
    要查看相应区段的内容,就在man后面加上相应区段的数字即可,如:$ man 1 ls
    所有的手册页遵循一个常见的布局,为了通过简单的ASCII文本展示而被优化,而这种情况下可能没有任何形式的高亮或字体控制。
    一般包含以下内容:
    NAME(名称)
    该命令或函数的名称,接着是一行简介。
    SYNOPSIS(概要)
    对于命令,正式的描述它如何运行,以及需要什么样的命令行参数。对于函数,介绍函数所需的参数,以及哪个头文件包含该函数的定义。
    DESCRIPTION(说明)
    命令或函数功能的文本描述。
    EXAMPLES(示例)
    常用的一些示例。
    SEE ALSO(参见)
    相关命令或函数的列表。
    也可能存在其它部分内容,但这些部分没有得到跨手册页的标准化。常见的例子包括:OPTIONS(选项),EXIT STATUS(退出状态),ENVIRONMENT(环境),BUGS(程序漏洞),FILES(文件),AUTHOR(作者),REPORTING BUGS(已知漏洞),HISTORY(历史)和 COPYRIGHT(版权)。

  4. 创建用户
    $ su 切换用户
    $ su -l 切换用户
    $ su - 切换用户,同时环境变量也会变换
    $ sudo adduser 新建用户
    $ sudo useradd 新建用户
    $ sudo passwd -d 删除用户密码
    $ sudo -u passwd设置用户密码

    adduseruseradd 的区别:
    useradd 只创建用户,创建完用passwd 设置(修改)密码adduser 会创建用户,创建目录,创建密码,做这一系列操作。

  5. 用户组(group)
    查看用户组命令:
    $ groups // 冒号之前为用户:冒号之后为所属用户组
    查看group文件内容:
    $ cat /etc/group | sort
    $ cat /etc/group | grep -E ""

/etc/group 的内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),每个用户组一条记录。格式如下:
group_name:password:GID:user_list

  1. 将其他用户加入 sudo 用户组
    $ sudo usermod -G sudo

  2. 删除用户
    $ sudo deluser --remove-home

  3. 查看文件权限
    $ ls -l // 使用较长格式列出文件
    输出:

drdwxr-xr-x 3 zp zp 4096 Feb 28 21:06 Desktop
drwxr-xr-x 4 zp zp 4096 Feb 21 20:30 Documents
drwxr-xr-x 2 zp zp 4096 Feb 24 23:14 Downloads
-rw-r--r-- 1 zp zp 6529 Feb 27 19:36 lzpwepiibwiu
drwxr-xr-x 4 zp zp 4096 Feb 21 19:02 Music
drwxr-xr-x 2 zp zp 4096 Feb 20 14:43 Pictures
drwxr-xr-x 3 zp zp 4096 Feb 21 20:37 Steam
drwxr-xr-x 2 zp zp 4096 Feb 20 14:55 Videos
drwxr-xr-x 2 zp zp 4096 Feb 20 15:50 模板

解释:


wm.png
wm (1).png
  • 文件类型
    关于文件类型,这里有一点你必须时刻牢记 Linux里面一切皆文件,正因为这一点才有了设备文件( /dev 目录下有各种设备文件,大都跟具体的硬件设备相关)这一说。

软连接文件Linux 链接文件分为两种,另一种是“硬链接”,而软件链接等同于 Windows 上的快捷方式。
块设备、字符设备
socket: 网络套接字。
pipe 管道

  • 文件权限

    • 读权限:表示你可以使用 cat 之类的命令来读取某个文件的的内容
    • 写权限:表示你可以编辑和修改某个文件
    • 执行权限:通常指可以运行的二进制程序文件或脚本文件,如同 Windows 上的exe后缀的文件,不过 Linux 上不是通过文件后缀名来区分文件的类型。你需要注意的一点是,一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件,这是因为目录文件实际保存着该目录里面的文件的列表等信息
    • 链接数:链接到该文件所在的 inode 结点的文件名数目
    • 文件大小:以 inode 结点大小为单位来表示的文件大小,你可以给 ls 加上-lh参数来更直观的查看文件的大小
  • ls -lh外其它关于ls的命令:
    $ ls -A 显示除了.(当前目录)和..(上一级目录)之外的所有文件,包括隐藏文件
    $ ls -Al 查看某一个目录的完整属性,而不是显示目录里面的文件属性
    $ ls -dl 显示所有文件大小,并以普通人类能看懂的方式呈现
    $ ls -AsSh 其中小 s 为显示文件大小,大 S 为按文件大小排序

  1. $ touch 创建文件
  2. $ sudo chown 修改文件所有者
  3. $ echo "" > 给文件添加内容
  4. 修改文件权限
    • 二进制数字表示: $ chmod

      其中 a,b,c 各为一个数字,分别代表 UserGroup、及 Other 的权限。

      chmod 777 file (等价于 chmod u=rwx,g=rwx,o=rwx file 或 chmod a=rwx file)设置所有人可以读写及执行
      chmod 600 file (等价于 chmod u=rw,g=---,o=--- file 或 chmod u=rw,go-rwx file )设置拥有者可读写,其他人不可读写执行

    • 加减赋值操作:

      goua 分别表示 groupothersuserall+- 分别表示增加和去掉相应的权限。

      $ chmod ugo r 设置所有用户可读取文件
      $ chmod a r 设置所有用户可读取文件
      $ chmod u rwx 设置只有拥有者可以读写及执行
      $ chmod a+r,ug+w,o-w a.conf b.xml设置文件 a.conf 与 b.xml 权限为拥有者与其所属同一个群组 可读写,其它组可读不可写
      $ chmod设置当前目录下的所有档案与子目录皆设为任何人可读写

  5. Linux 目录结构


    wm (1).png
wm.png
  1. 文件操作命令
    $ touch 新建文件
    $ cp 复制文件

  2. 目录操作命令
    $ mkdir 新建目录
    $ mkdir -p 新建多级目录
    $ cp -r 复制目录

  3. 查看文件
    $ cat 查看文件
    $ cat -n 查看文件,显示行号
    $ tac 查看文件,倒叙显示
    $ more 分页查看文件,Enter 滚动一行,Space 滚动一页,h 显示帮助,q 退出。
    $ head 查看文件头10行
    $ tail 查看文件后10行
    $ head/tail -n 查看文件第n

  4. $ file 查看文件类型

  5. $ vimtutorLinux内部vim学习教程

  6. $ xeyes这是一个彩蛋

你可能感兴趣的:(Linux基础入门)