目录
1.Linux是操作系统,那么什么是操作系统?
2.云服务器
3.使用XShell登录主机
1.XShell
2.添加用户
4.Linux基本指令
4.1 ls指令
4.2 cd命令
4.3 touch指令
4.4 mkdir
4.5 rmdir指令和rm指令
4.6 man命令
4.7cp指令
4.8 mv指令
4.9 cat、more、less、head指令
5.0 时间相关的指令
1.Linux是操作系统,那么什么是操作系统?
操作系统是帮助我们操作的系统(双击啊、右键、滚动滑轮等都是借助了操作系统),直接操作计算机硬件成本高,需要操作系统的帮助。
2.云服务器
xshell登录:
3.使用XShell登录主机
1.XShell
XShell的复制粘贴:
复制:ctrl+insert
粘贴:shift+insert
XShell 登录主机
ssh [ip]
然后输入密码就可以。root为用户名
2.添加用户
adduser添加用户
查看当前自己是谁:whoami
查看用户: ls /home/
设置用户的密码:passwd,不设置密码是没办法在XShell登录的。
注意:这里在输入密码时是不显示的。
登录用户:
删除用户:userdel -r (必须使用root用户)
总结:Linux是一款多用户操作系统,可以共享使用。可以多建几个用户,多几个人一起使用云服务器。
4.Linux基本指令
已经有了图形化界面,为什么还要学指令:
1.企业的服务器,没有界面
2.指令的学习,更贴近系统
3.指令快(操作慢)
4.1 ls指令
pwd当前用户所处的目录:
/为路径分隔符。
touch 在当前目录创建普通文件和ls列出该目录的所有子目录与文件。
编辑test.c文件:nano ,打开文件并且编辑,这里的test.c和文本文件一样的。
cat 查看文件内容:
gcc编译.c文件,就会生成一个a.out的可执行文件
./a.out 运行文件
ls 只显示文件名这个属性,而ls -l 显示文件更多的属性。在Linux中,文件=内容+属性(元数据)
比如在windows中建立一个空文件text.txt,没有内容也是占磁盘空间的,因为文件的属性也占空间(创建时间等)
ls -la: 带上a 显示隐藏文件
打印出来有. 和.. ,文件属性中d开头的代表文件类型是目录,-开头文件类型是普通目录 ,目录名是 . 开头的代表是隐藏目录。
那么这里的. 和.. 是什么意思?
. 代表当前路径,.. 代表上级路径
cd . 还是当前路径, cd.. 是上级路径 。
.有什么意义呢? ./a.out 这个. 代表当前路径下的a.out文件。
最终路径是 / 也叫根目录(起始目录),再cd.. 就回退不了了,根目录可以包括很多目录,大部分操作系统,组织文件的基本结构是一棵多叉树。
ls- d:查看这个目录的本身属性
ls -al . 和ls -al ./ 查看的都是目录里的文件属性,那我想查询目录本身的属性。
ls -d 就可以查看目录本身的属性
which 查看命令所在系统路径:
使用ls查看这里的指令文件,发现是可以查看的。因此得出一个结论: 指令本质也是Linux上面的一些程序,也就是是文件,.exe或者可以执行的程序。
这里alias指令,alias ls='ls --color=auto' 相当于给ls起别名,ls就是执行 ls --color=auto.这也就是为什么输入ls时,文件都是有颜色的。
可以利用alias 自己定义一个指令,这个命令只是在本次登录有效,下次登录就失效了(在当前会话有效)。back发现确实执行了cd .. ,建议最好不要改,会污染原来的命令池。
使用which查看 ll 等价与ls -l 就是起了一个别名。
ll -n :显示用户名对应的用户组和权限等信息,先了解。
4.2 cd命令
几乎所有的操作系统,管理文件的方式基本都属采用多叉树的形式,为什么我们可以“采用路径”的方式,进行定位文件,比如/home/bit/test.c 这里的路径/home/bit/ 回答了我在哪里,test.c回答了我是谁。这个路径是具有唯一性的,因为每个结点,都只有一个父节点。从根目录开始到这个文件的唯一路径这种路径就是绝对路径。
相对路径:我们查看上级路径的test.c ,也就是查看当前路径的上一个目录的test.c,这就是相对路径。相对路径:是以当前路径开始,并且不是唯一的路径。
所以在执行程序的时候./a.out,这里的./ 就是指的当前路径,也就是相对路径。这里也回答了我在哪,我是谁。
也可以使用绝对路径进行执行程序:
cd代表路径切换,可以通过绝对路径和相对路径进行路径切换。
cd / 去根目录:
cd - 返回最近访问目录:也就是记录我上一次的路径。
cd~打开工作目录:我的工作目录就是 /root ,~就是当前用户对应的工作目录。我目前使用的用户是root
我用普通用户:发现工作路径是/home/zhy ,普通用户的工作路径都是/home/某某,这也就是为什么ls /home/ 就可以看到不同的用户。
总结:每个用户的~对应的工作目录都是不同的。
4.3 touch指令
touch创建普通文件,不能创建目录
touch可以更改文件时间:
stat可以查看文件的时间,touch可以修改这三个时间,也可以修改特定的时间。后面整理。
4.4 mkdir
创建目录(相当于windows里的文件夹)
可以创建多级路径mkdir -p
安装tree: yun install -y tree 或 yum install -y epel -release
4.5 rmdir指令和rm指令
rmdir用于删除空目录。
rm -r 递归删除目录。不管是空还是非空目录。
rm -rf强制删除目录。
rm -f 也可以删除文件
4.6 man命令
man查看手册:yum install -y man-pages
这里数字的意思:man man 查看man指令手册
常用1、2、3:
1.也是默认的,代表普通命令
2.是系统调用
3.是库函数
手册q是退出。
4.7cp指令
拷贝普通文件,拷贝目录
拷贝文件默认拷贝到当前目录。
拷贝文件也可以拷贝到其他目录,不起名字默认和原文件名字一样。
拷贝目录 cp -rf r表示递归,f表示强制(不会出现问问题,yes or no)
4.8 mv指令
剪切功能:把learn 目录中的test.c文件剪切到当前目录。
剪切目录:
对文件进行重命名:
对目录重命名:
4.9 cat、more、less、head指令
查看目标文件的内容
1.先生成以一份file.txt 方便cat的整理。
cat 就只是查看文件内容,不像nano 一样打开可以修改。
cat -n 可以显示行号。
tac指令: 和cat显示的内容是相反的。tac逆序输出文本 cat正序输出文本。
当我们使用cat 打开file.txt的时候,发现被刷屏了,我又想看看最开始的内容,需要使劲的向上滑滑轮,非常的费劲。
此时使用到了more指令:more指令只能按回车向下看也只能向下看,按q退出。
more也可以打印几行内容。也是按回车向下看,也只能向下看。
再查看内容的时候也可以查找相应的内容。会显示出相应内及容附近那内容。
more的缺点只能进行向下翻内容。所以less指令既可以向下翻也可以向上翻,按上下键,也可以 /100 查找对应内容:
总结:如果查看大文件(日志(系统中是存在各种日志的,就是一些保存软件运行过程中对应的运行数据)、别人写好的代码),less/more,推荐less
文本文件的局部查看从头,从尾:head tail
head指令:默认查看前10行内容。 head -12 前12行。
tail指令:默认查看后10行内容 tail -12 查看后12行 内容。
如何查看中间区域呢?100 -120
echo:将输出字符串,显示到标准输出(显示器)。
输出到对应文件中:这叫输出重定向,目标文件不存在,会自动创建。本应该显示到显示器的内容,重定向写入目标文件中这就是输出重定向。
我输出重定向别的内容:输出重定向会清空原始文件内容,然后重新写入:
若是我追加内容:这叫追加重定向。
cat:我只是输入一个cat,默认是从标准输入(键盘)读取数据,和scanf差不多。
cat也可以输入重定向:
下面解决100-120区域的内容:
1.使用head和tail是可以的:但是这里会先生成一个tmp.txt文件。
2.我不想生成tmp.txt文件:这里的 | 是管道 ,把head -120 file.txt 的结果通过管道继续使用tail -20进行处理。
3.可以这样:利用管道,特别像流水线数据处理。
管道的理解:
在自然界中管道是用来传输资源的,在计算机中资源就是数据,那么管道就有两个口,一个入口一个出口
5.0 时间相关的指令
date:显示时间
date指定格式显示时间:
也可以显示时分秒:
2.时间戳
是从1970年1月1日0分0秒开始所经过的秒数。
时间戳转化:
发现这里为什么时1970-01-01 8:00呢 ,因为和欧洲有时差,正好8个小时。
时间戳的作用:当程序运行时会生成日志,当程序挂掉了,日志中,会涵盖时间信息,可以通过时间查找挂掉的原因。有的日志会存储我们能看懂的格式(给程序员看的),有的是时间戳(给程序看的)。



