Shell命令学习笔记①(Linux学习笔记②)

177 阅读5分钟

Shell

不可能背过所有命令的,学习重点是熟悉命令类型,掌握查找命令方法。
So # man 以及 # 指令 --help is very important!

# ls -l /bin/ | grep sh(筛选出带有sh的命令

帮助命令 man(manual n.手册; 说明书; 指南;)

# man ls

image.png 上下键移行,Ctrl+f 向下滚动一屏; Space 向下滚动一屏; Ctrl+b 返回上一屏。
以上为外部命令,还需要注意到Shell内置命令,如cd命令,直接写入了bash源码中,因此无法通过man查找,需要help。可用type命令判断是内嵌or外部命令。

image.png

# type ls
# type cd

image.png

ls --help

image.png

image.png

文件目录类

pwd

Print Working Directory,打印工作目录绝对路径

cd

切换路径
相对路径,.当前目录..返回上级菜单,/根目录,cd - 返回上次的文件节点。

cd ../桌面/
cd 桌面/

ls

list 列出目录内容,-a all显示上级菜单的内容,会出现以.开头的隐藏文件,-l(# ll) 将所有文件类型、权限、时间、文件名等信息。rw文件,drwxr文件夹。

# ls
# ls /
# ls -a
# ls -l = # ll

新建文件夹mkdir/删除文件夹rmdir

# mkdir b c同时创建两个文件夹
# mkdir d d/e d/e/f 嵌套文件夹
# mkdir -p(parent父目录) g/h/i创建嵌套文件夹
# rmdir b c
只能删除空目录
# rmdir d/e/f d/e d/
# rmdir -p g//h/i 嵌套删除,假如上级为空就可以删

touch 创建空文件

# touch 文件名
# touch 路径/文件名
# vim 文件名(也可以创建文件,但空文件的话就不创建了哦,要看是否保存

cp复制

cp -r 复制整个文件夹
\cp 文件名 路径(不询问是否覆盖)

rm 删除文件

# rm 文件夹
# rm -f ./*(强制删除,不提示
# rm -r(递归删除,很多询问
# rm -r a
# rm -rf(提桶跑路、删库跑路

mv

# mv 文件名 路径
# mv 文件名 路径/文件名(移动+重命名)

cat|more|less|head|tail

catch,查看文件内容,从第一行开始显示,like只读
VI编辑器的文本过滤器,按页显示
less 日常查看大的日志文件(/搜索关键字,like /第二章方便上班看小说)
按q退出哦~
tail -f跟踪文件,在文件中 ctrl+s暂停,ctrl+q继续,ctrl+c退出\

# cat 文件名
# cat -n 文件名(显示行号)
# more 文件名
# head -n 10 文件名(默认十行哦)
# tail -n 6 文件名
# tail -f (实时跟踪文档,日志会持续增长哦!

image.png

image.png tail指令中vim 打开再保存的话不会持续跟踪哦~,因为此时文件索引号会变化!

# ls -i info(查看索引号

echo

输出内容到控制台,-e 可用转义字符

# echo hello,world
# echo hello world
# echo hello      word(只显示一个空格哦!
# echo "hello             world"(会完完整整返回的
# echo -e "hello \n world"

image.png

image.png

image.png 超级强大的复写功能哦!

ln

软连接,like指针或者快捷方式,inode(保持着唯一编号index),index(,metadata(元信息
嗯...存在着硬链接,like完全拷贝,硬链接只针对文件,用的很少

ln -s 目录或原文件 软连接
# rm -rf 软连接名(绝对不是# rm -rf 软连接/)
# pwd -P(忽略软连接显示真正的连接哦
# rm -rf 软连接/(/是对应的目录,会直接删除真正目录的,准备提桶跑路的计划比较好)

image.png

image.png

history

查看历史命令,提醒我们上班不要摸鱼,很容易被查到!

# history
# history -c(可以清空指令哦

时间日期类

date

# date(获取当前时间
# date +%Y
# date +%m
# date +%d
# date +%Y-%m-%H:%M(不可以直接空格,想用要加引号
# date +"%Y-%m %H:%M"

image.png 以上最常用的,以下-d -s获取其他时间以及重新设置时间
# -ntpdate(做完坏事把时间改回来

image.png

cal

显示日历

image.png

用户权限类

要以root超级管理员的身份去执行这些命令

useradd 添加用户

password 设置用户密码

可在Xshell新建其他用户链接,多任务多用户的分布式链接。

id 单个查看

# id david
想查看是否有这个用户,会显示uid gid
# cat /etc/passwd(只读所有的用户,当然也可以使用其他指令编辑这个文件,but没必要吧
(shift+g,直接跳到最后)

su (switch user)

# su atguigu
假如是普通用户要输入密码
前置命令行会由#变为$
$ ls
$ cd
$ pwd
跳转回root需要密码
$ su root
退回嵌套用户
$ exit (回退
$ exit
# who am i 显示当前用户信息,而且是最原始的用户
# whoami 显示当前用户名,当前当前当前不是最原始的

sudo文件

# vim / etc/sudoers
添加用户

image.png

用户组相关groupadd|groupdel|group

image.png

image.png

atguigu属于两个组,默认在自己同名组里,$ cat /etc/group查看组相关信息文件

usermod -g meifa tony

修改用户所属组

groupmod -n haircut meifa

修改组名

文件属性

Linux是一种典型的多用户系统,用户有不同权限,ls可查看文件的权限属性。

image.png

image.png

chmod 改变文件属性

其实就是二进制转换啦~easy

image.png

分配用户组权限

image.png

image.png

搜索查找类

find

还可以按照文件大小查找,注意通配符 image.png

image.png

locate

每天才更新一次,所以记住要# updateddb

# updatedb
# locate tmp(包含tmp的文件和文件夹
# locate xzhdx
也可以定位命令

which

# which ls
# which locate
# which which
# whereis locate

grep 过滤查找

用过哦

wc word count

压缩解压类

实际工作中接触比较多

# gzip 文件(只能压缩单个文件.gz,不保留原文件,多个文件会产生多个压缩包)
# gunzip 解压文件
# zip
# unzip
# tar(打包归档,
# tar -c打包|-x解包

image.png