Linux
用户管理:
- 新增,adduser+name
- 密码,passwd+name
- 删除用户:userdel -r+name
Linux是一款多用户操作系统,可以共享使用(纯指令操作)
Linux下基本指令
-
pwd 显示路径
-
tree 以多叉树形式去显示目录下的文件(可以不加目录名,直接tree,显示就是当前目录下的文件)
-
ctrl +insert 复制,shift + insert 粘贴
-
ctrl+r可以检索之前登录所输入的一串字符、指令等等
-
uname -r 查看linux内核版本信息
-
vmstat 报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息
-
sar 主要帮助我们掌握系统资源的使用情况,特别是内存和CPU的使用情况
-
stat 用于显示文件的状态信息
-
clear 清空屏幕
-
touch+文件名 在当前目录创建一个普通文件
-
nano+文件名 是自带的编辑器(退出ctrl+x)
-
gcc +文件名 编译代码
-
cat+文件名 可以查看文本文件内容
-
.是当前目录,…是上级路径。当回退到不能再回退为止 / 代表根目录。
-
which ls 查看特定指令的系统路径(指令本质也就是Linux上面的一些程序,也就是文件.exe)
-
alias 别名,(alias+名称=‘命令’–>alias back=‘cd …’)
-
绝对路径:从根目录开始的路径(唯一性),相对路径:相对当前自身所处的路径(并不能唯一标识)
-
-r 递归 -f 强制执行
-
ls 指令
-
-l 以列表形式显示文件的更多属性
-
-l -a 显示所有文件。中d:文件类型是目录,-:文件类型是普通目录,.开头是隐藏文件,可以合并来写-al,他们的后面还能够跟文件目录,它会自动显示目录里面的文件
加个d就是只显示目录信息 -
ls +目录(ls -l -a) 默认输出的是目录里面的内容
-
ls -l -d 输出目录的信息
-
ls -F 目录名 会标记目录里面文件类型(不能是-f)
-
-
pwd 显示所在路径
-
cd 命令
-
文件目录这种形式就相当于一颗多叉树根目录就相当于是根节点;路径简单来说就是回答了我在那里,我是谁,绝对路径具有唯一性(从根目录开始),因为在多叉树中只有唯一的父节点;相对路径不具有唯一性(从所在目录开始)
-
cd /直接进入根目录
-
cd - 记录最近一次从哪里来的路径
-
cd ~ 当前用户对应的工作目录
-
-
touch 指令
- 创建普通文本文件,不能用来创建目录
- 更新文件的最新创建时间/修改时间,默认是全部修改(可以改局部跟-a,-m,-c…)
-
mkdir 创建目录(本质就是在路径树中,新增路径或者节点)
- mkdir -p 是创建一条路径
- mkdir :默认创建一个空目录
-
rmdir和rm指令
- rmdir 通常删除的是非空目录
- rm -r 递归删除,删除目录(不加-r 删除不了非空目录)
- rm -f 强制删除
- rm -rf 强制递归删除(注意:不能有误操作)
-
man (一般自带的是不全的可以通过: yum install -y man-pages)
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man man
man 语法: man [选项] 命令
1是默认查看的,2是系统调用函数,3是库函数如果我们要查看c语言中的printf函数->man 3 printf
-
cp拷贝命令
-
-rf 拷贝目录
-
不加拷贝普通文件
cp+拷贝文件名+要拷贝的路径+拷贝之后的名字
-
-
mv 命令
- 剪切 mv+文件(目录)+路径
- 重命名(目录/文件)mv + 原名称 + 新名称
在进行下面的查看之前先生成一个file.txt文件,count=0; while [ $count -le 1000 ]; do echo “hello ${count}”; let count++; done > file.txt生成1000行文档输出到file.txt中
- cat 查看
- cat+文件名
- tac 逆序输出文本 cat 顺序输出文本
-
more 部分查看(q退出)
- 只能从上往下查看,只能使用回车
- / +数字 跳到这一行附近的代码(是查看时输入)
- -n可以选择输出到第n行(例:more -5 file.txt)
-
less 部分查看(可以上下翻动)
- 如果查看大文件,不想打开它用more/less(大文件通常是日志或者别人的代码)
- 什么是日志:系统中,是存在各种日志的,就是一些保存软件运行过程中对应的运行数据
- less +文件名
-
head 指令和tail指令(文本文件的局部查看)
-
查看指定行
-
默认显示10行
-
head -n (n是各种数字)查看n行 +文件名,tail同理
-
|(管道)用法:比如我想得到file.txt中的第15行的倒数5行,那就可以这样cat file.txt | head -15|tail -5
-
使用管道的时候,默认隐式的发生了重定向
-
-
echo将字符串显示到标准输出
- echo "hello bit,hello 102"正常用法
- echo “hello bit,hello 102” >log.txt(输出重定向,目标文件不存在,会自动创建)
- 输出重定向:本来应该显示到显示器的内容,重定向到目标文件中
- 输出重定向会清空原始文件内容,然后重新输入
- echo “hello bit,hello 102” >>log.txt 追加重定向(不会清空原始文件的内容)
- cat 不加文件名,默认从键盘中读
- cat < log.txt 输入重定向(将右边的数据当成原始数据,传到左边的程序中)
-
时间相关的指令(Access,Modify,Change)
-
date 查询时间
-
date +%Y 查询年
-
date +%Y%m 查看年月
-
date +%Y%m%d 查看年月日
-
可以定制输出方式如date +%Y-%m-%d
-
date +%s 时间戳(从1970/01/01/00:00累计到现在的秒数)
-
date +%Y/%m/%d_%H:%M:%S -d @时间戳
-
-
cal指令
- 日期/日历命令
- cal 默认显示本年当月的信息
- cal 年份 输出年份的所有月份
- cal n 输出n个月
-
*find指令(很重要) -name
-
从磁盘上查找文件
-
-
grep 指令
- 搜寻字符串文件
- 用法:grep ‘99’ file.txt / cat file.txt | grep ‘99’ / grep ‘hello 99[0-5]’ file.txt(99之前都需要有,后面只要是在0–5之间都行)还有一些用法grep -i ‘^x’ file.txt意为查找以x开头的,也就是grep支持通配符
- grep -v ‘key’(反向匹配) file.txt
- grep -i 'key’就是大小写呼应(大小写都能找到) file.txt
- grep -n ‘key’ () file.txt 输出对应的行号
-
zip/unzip指令
- 将目录或文件压缩成zip文件
- -r 递归处理,将指定目录下的所有文件和子目录一并处理
- zip压缩 unzip解压缩
- 用法:zip file.zip file.txt
- zip直接用压缩普通文件可以,但是不能直接压缩目录(只会压缩一个空目录,目录里面的内容不会有)
- zip -r 能够压缩目录(目录里面的文件也会被压缩)
- 解压到指定解压路径用法加-d
- 用法:unzip lesson3.zip -d 路径
-
*tar 指令(重要)
- 压缩用法:tar czf(czvf) leson3.tgz lesson3(-czf都一样不报错用谁都行)
- -c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录 - 解压用法:tar xzf(xzvf) lesson3.tgz -C 目录
-
bc指令
- 就相当于Linux的计算器
- 可以这么用echo “1+2+3+4” | bc
-
uname 获取电脑和操作系统的相关信息
- uname -a 更详细查看
- uname -r 版本信息
- hostname 查看主机名
-
热键
- [Tab]按键—具有『命令补全』和『档案补齐』的功能
- [Ctrl]-c按键—让当前的程序『停掉』
- [Ctrl]-d按键—通常代表着:『键盘输入结束(End Of File, EOF 或 End OfInput)』的意思;另外,他也可
以用来取代exit - ctrl+r 检索之前输入的命令等等,因为会有history 可以记录很多条之前输入的代码
- file+文件名 查看文件信息
-
关机
- 云服务器,永远不关机
- shutdown -h :将系统的服务器停掉后,立即关机
- -r :重新启动
- -t sec : -t 后面加秒数(几秒关机)
我们创建的用户信息都存在了/etc/passwd里面,可以通过cat去查看,添加密码会存放在/etc/shadow中(Permission denied权限被拒绝)