Linux基础入门学习笔记
学习渠道:Linux实验楼(https://www.shiyanlou.com/)
更新中,未完待续……
前言
本文为Linux的基础入门内容,主要含有Linux常用命令,用户与权限管理,目录结构与文件操作,环境变量,计划任务,管道与数据流重定向等基本知识点。
常用快捷键
按键 |
作用 |
↑ |
历史输入命令 |
Tab |
补全命令、补全目录、补全命令参数等 |
Ctrl+c |
终止当前程序(不会使终端退出) |
Ctrl+d |
键盘输入结束或退出终端 |
Ctrl+s |
暂停当前程序,暂停后按下任意键恢复运行 |
Ctrl+z |
将当前程序放到后台运行,恢复到前台为命令fg |
Ctrl+a |
将光标移至输入行头,相当于Home键 |
Ctrl+e |
将光标移至输入行末,相当于End键 |
Ctrl+k |
删除从光标所在位置到行末 |
Alt+Backspace |
向前删除一个单词 |
Shift+PgUp |
将终端显示向上滚动 |
Shift+PgDn |
将终端显示向下滚动 |
用户管理
查看当前用户用户名
1 2 3 4 5
| $ whoami 或者 $ who am i 或者 $ who mom likes
|
su,su -l,与sudo
- su 可以切换到用户 user,执行时需要输入目标用户的密码
- sudo 可以以特权级别运行 cmd 命令,需要当前用户属于 sudo 组,且需要输入当前用户的密码
- su -l 命令也是切换用户,同时环境变量也会跟着改变成目标用户的环境变量
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| #新建一个叫lilei的新用户 $ sudo adduser lilei #输入当前用户密码,注意 Linux 环境下输入密码是不会显示的 passwd: 正在添加用户“lilei”... . . . 输入新的UNIX密码: 重新输入新的UNIX密码: . . . 这些信息是否正确? [Y/n]
|
现在你已经创建好一个用户,并且你可以使用你创建的用户登录了,使用如下命令切换登录用户:
1 2
| $ su -l lilei #然后输入用户lilei的密码
|
退出当前用户跟退出终端一样可以使用 exit 命令或者使用快捷键 Ctrl+d。
将其他用户加入 sudo 用户组
默认情况下在 sudo 用户组里的可以使用 sudo 命令获得 root 权限。而新创建的用户是不具有 root 权限的,也不在 sudo 用户组,可以让其加入 sudo 用户组从而获取 root 权限:
1
| $ sudo usermod -G sudo lilei
|
删除用户
1
| $ sudo deluser lilei --remove-home
|
目录及文件操作
路径
1 2
| (不知道为啥‘-’一到网页里就变成'。'了...) $ cd -
|
绝对路径
以根” / “目录为起点的完整路径,以你所要到的目录为终点,表现形式如:/usr/local/bin,表示根目录下的 usr 目录中的 local 目录中的 bin 目录
相对路径
相对路径是以当前目录为起点,以你所要到的目录为终点
1 2
| # 当前目录的上一级目录的上一级目录下的user目录下的local目录下的bin目录 $ cd ../../usr/local/bin
|
文件基本操作
1 2 3
| $ ls # 参数-a :查看隐藏文件 $ ls -a
|
1 2 3 4
| $ touch test #创建多个文件 $ touch asd.txt fgh.txt $ touch love_{1..10}_shiyanlou.txt
|
1 2 3
| $ mkdir mydir # 参数-p:创建多级目录 $ mkdir -p father/son/grandson
|
1 2 3
| $ cp test father/son/grandson # 参数-r/-R:复制目录 $ cp -r father family
|
1 2 3
| $ rm (-f) test # 参数-r/-R:删除目录 $ rm -r family
|
1 2 3 4 5 6
| # 移动 $ mkdir Documents $ touch file1 $ mv file1 Documents # 重命名 $ mv file1 myfile
|
1 2 3 4 5 6 7
| $ cd /home/shiyanlou/ # 使用通配符批量创建 5 个文件: $ touch file{1..5}.txt # 批量将这 5 个后缀为 .txt 的文本文件重命名为以 .c 为后缀的文件: $ rename 's/\.txt/\.c/' *.txt # 批量将这 5 个文件,文件名和后缀改为大写: $ rename 'y/a-z/A-Z/' *.c
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| # cat:正序打印 $ cat passwd $ cat -n passwd(添加行号) # tac:倒序打印 $ tac passwd # nl:添加行号并打印 $ nl -b a passwd # nl参数 -b : 指定添加行号的方式,主要有两种: -b a:表示无论是否为空行,同样列出行号("cat -n"就是这种方式) -b t:只列出非空行的编号并列出(默认为这种方式) -n : 设置行号的样式,主要有三种: -n ln:在行号字段最左端显示 -n rn:在行号字段最右边显示,且不加 0 -n rz:在行号字段最右边显示,且加 0 -w : 行号字段占用的位数(默认为 6 位)
|
- more/less:打印一屏内容,相比于cat/tac用鼠标翻页,more/less则使用键盘操作
1 2 3 4 5 6 7 8
| # more:只能向一个方向滚动 $ more passwd # 按键功能 Enter:向下滚动一行 Space:向下滚动一屏 h:显示帮助 q:退出 # less:基于more 和vi开发,功能更强大,自行了解
|
- head/tail:只打印文件的头/尾几行,默认为 10 行
1 2 3 4 5
| $ head passwd $ tail passwd # 参数-n:设置打印行数 $ head/tail -n 1 passwd # 参数-f:动态读取文件内容,自行了解
|
![Linux学习路径]()