linux学习笔记part1

1.命令行操作

快捷键

【Tab】补全命令,补全目录,补全命令参数
【Ctrl+C】强行终止当前程序
【Ctrl+d】键盘输入结束或退出终端
【Ctrl+s】暂停当前程序,暂停后按下任意键恢复运行
【Ctrl+z】将当前程序放到后台运行,恢复到前台为命令fg
【Ctrl+a】将光标移至输入行头,相当于Home键
【Ctrl+e】将光标移至输入行末,相当于End键
【Ctrl+k】删除从光标所在位置到行末
【Alt+Backspace】向前删除一个单词
【Shift+PgUp】将终端显示向上滚动
【Shift+PgDn】将终端显示向下滚动
【方向键⬆】历史输入命令

通配符

主要有星号(*)和问号(?),用来对字符串进行模糊匹配(比如文件名、参数名)
【 *】匹配 0 或多个字符
【?】匹配任意一个字符
【list】匹配 list 中的任意单一字符
【^list】匹配 除 list 中的任意单一字符以外的字符
【c1-c2】匹配 c1-c2 中的任意单一字符 如:[0-9][a-z]
{ string1,string2,…} 匹配 string1 或 string2 (或更多)其一字符串
{ c1…c2 } 匹配 c1-c2 中全部字符 如{1…10}

banner、toilet、figlet命令

输出图形字符的命令
安装

$ sudo apt-get update
$ sudo apt-get install sysvbanner
$ sudo apt-get install toilet
$ sudo apt-get install figlet

2.用户及文件权限管理

查看用户

$ who am i
# 或者
$ who mom likes

创建用户

$ sudo adduser lilei

用户组

查看自己所属用户组

方法一:使用 groups 命令
$ groups shiyanlou

方法二:查看 /etc/group 文件
$ cat /etc/group | sort
| sort 表示将读取的文本进行一个字典排序再输出
$ cat /etc/group | grep -E "shiyanlou"
| grep 过滤掉一些你不想看到的结果

将其它用户加入 sudo 用户组
默认情况下新创建的用户是不具有 root 权限的,也不在 sudo 用户组,可以让其加入 sudo 用户组从而获取 root 权限:

$ su -l lilei

使用 usermod 命令可以为用户添加用户组

$ groups lilei
$ sudo usermod -G sudo lilei
$ groups lilei

删除用户:

$ sudo deluser lilei --remove-home
使用 --remove-home 参数在删除用户时候会一并将该用户的工作目录一并删除。如果不使用那么系统会自动在 /home 目录为该用户保留工作目录。

Linux 文件权限

列出并显示当前目录下的文件

$ ls -l

文件权限
一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件

$ ls -a
显示除了 .(当前目录)和 ..(上一级目录)之外的所有文件,包括隐藏文件(Linux 下以 . 开头的文件为隐藏文件)。
$ ls -al
同时使用 -a 和 -l 参数
$ ls -dl <目录名>
查看某一个目录的完整属性,而不是显示目录里面的文件属性
$ ls -asSh
显示所有文件大小,其中小 s 为显示文件大小,大 S 为按文件大小排序

变更文件所有者

切换到 lilei 用户,然后在 /home/lilei 目录新建一个文件,命名为 iphone11。
$ su - lilei
$ pwd
$ touch iphone11
$ ls -alh iphone11
现在切换回到 shiyanlou 用户,使用以下命令变更文件所有者为 shiyanlou。
$ cd /home/lilei
$ ls iphone11
$ sudo chown shiyanlou iphone11

修改文件权限

方式一:二进制数字表示,文件的读写执行对应字母 rwx,以二进制表示就是 111,用十进制表示就是 7
然后修改权限:
$ chmod 600 iphone11
$ ls -alh iphone11
方式二:加减赋值操作
$ chmod go-rw iphone11
g、o 还有 u 分别表示 group(用户组)、others(其他用户) 和 user(用户),+ 和 - 分别表示增加和去掉相应的权限。

3.目录结构及文件基本操作

FHS

FHS:文件系统层次结构标准(Filesystem Hierarchy Standard )。多数 Linux 版本采用这种文件组织形式,FHS 定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。

FHS 定义了两层规范:
第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc 应该放置设置文件,/bin 与 /sbin 则应该放置可执行文件等等。
第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统日志文件,/usr/share 放置共享数据等等。

目录路径

进入上一级目录:

$ cd ..

进入你的 home 目录:

$ cd ~
#或者 cd /home/<你的用户名>

Linux 文件的基本操作

新建文件
使用 touch 命令创建空白文件

$ cd ~
$ touch test

新建目录
使用 mkdir(make directories)命令可以创建一个空目录,也可同时指定创建目录的权限属性。

$ mkdir mydir

使用 -p 参数,同时创建父目录

$ mkdir -p father/son/grandson

复制文件
使用 cp 命令(copy)复制一个文件到指定目录。

$ cp test father/son/grandson

复制目录
使用 cp -r 或者-R命令

$ cd /home/shiyanlou
$ mkdir family
$ cp -r father family

删除文件
使用 rm(remove files or directories)命令删除一个文件,rm -f 强制删除

$ rm test
$ rm -f test

删除目录
跟复制目录一样,要删除一个目录,也需要加上 -r 或 -R 参数。遇到权限不足删除不了的目录也可以和删除文件一样加上 -f 参数

$ rm -r family
$ rm -rf family

移动文件
使用 mv(move or rename files)命令移动文件(剪切)。命令格式是 mv 源目录文件 目的目录。

$ mkdir Documents
$ touch file1
$ mv file1 Documents

重命名文件
mv 命令除了能移动文件外,还能给文件重命名。命令格式为 mv 旧的文件名 新的文件名。

$ mv file1 myfile

批量重命名
rename 命令可以批量重命名,rename 命令并不是内置命令,若提示无该命令可以使用 sudo apt-get install rename 命令自行安装。

$ 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

查看文件

使用 cat,tac 和 nl 命令查看文件
前两个命令都是用来打印文件内容到标准输出(终端),其中 cat 为正序显示,tac 为倒序显示。

使用 more 和 less 命令分页查看文件

使用 head 和 tail 命令查看文件

使用 file 命令查看文件的类型

编辑文件
在 Linux 下面编辑文件通常直接使用专门的命令行编辑器比如(emacs,vim,nano)

4.环境变量

变量

创建一个变量
使用 declare 命令创建一个变量名为 tmp 的变量

$ declare tmp

读取变量的值
使用 echo 命令和 $ 符号($ 符号用于表示引用一个变量的值)

$ echo $tmp

变量类型:
1.当前 Shell 进程私有用户自定义变量。
2.Shell 本身内建的变量。
3.从自定义变量导出的环境变量。

三个与上述三种环境变量相关的命令:set,env,export。

永久生效
让环境变量永久生效,只需要打开 /etc/profile,在最后加上想添加的环境变量。
/etc/bashrc(有的 Linux 没有这个文件) 和 /etc/profile ,它们分别存放的是 shell 变量和环境变量。

5.命令的查找路径与顺序

查看 PATH 环境变量的内容:

$ echo $PATH

添加自定义路径到“ PATH ”环境变量
使用下面命令直接添加内容到 .zshrc 中
使用的 Shell 是 zsh,它的配置文件是 .zshrc,相应的如果使用的 Shell 是 Bash,则配置文件为 .bashrc。

$ echo "PATH=$PATH:/home/shiyanlou/mybin" >> .zshrc

修改和删除已有变量
可以使用 unset 命令删除一个环境变量:

$ unset mypath

环境变量立即生效
可以使用 source 命令来让其立即生效

$ source .zshrc

搜索文件

与搜索相关的命令常用的有 whereis,which,find 和 locate。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值