记录Linux的指令学习
什么是Linux?
Linux 是一种广泛使用的开源操作系统内核,由林纳斯・托瓦兹(Linus Torvalds)于 1991 年首次发布。它的设计灵感源自 Unix 操作系统,遵循开源理念,即源代码对公众开放,任何人都可以查看、修改和分发,这使得它具有高度的灵活性、安全性和可定制性。(ai的回答)
搭载Linux环境:
1. 直接安装在物理机上. 但是由于 Linux 桌面使用起来非常不友好, 不推荐.
2. 使用虚拟机软件, 将 Linux 搭建在虚拟机上. 但是由于当前的虚拟机软件(如 VMWare 之类的)存在一些 bug , 会 导致环境上出现各种莫名其妙的问题, 比较折腾.
3. 使用云服务器, 可以直接在 腾讯云, 阿里云或华为云 等服务器厂商处直接购买一个云服务器.
我是购买了腾讯云的服务器(学生版的轻量应用服务器2核2G),刚买就听说阿里云有免费的学生版,可使用一年。
我之前买的时候弄错了选的window系统,后面和客服沟通重置了系统如下:
右侧的操作系统选择 CentOS 7.6 64位. 购买时长根据需要选择(建议1年), 点击立即购买即可。购买之后,重置密码(后面在XShell 登录的时候就是这个密码):
XShell 是一个远程终端软件. 下载官网 https://www.netsarang.com/products/xsh_overview.html 下载安装的时候选择 "home/school" 则为免费版本.使用XShell进行学习。
打开xshell界面如下,点击关闭即可。在类似搜索框的新建一个练习吧
然后跳转到下面:输入红色划线的指令ssh root@公网IP。按回车输入重置的密码就可以登录了,现在的身份是root用户,我目前学习使用的也是这个,后期改变了在写博客
登录上的样子:
pwd指令是显示当前用户所在的目录(路径),root左边的/是根目录;tree是显示该目录下子目录;root用户下最开始没有tree指令,需要安装,输入:yum install -y tree。按回车就可以了。
cd ./lesson3_dir 的意思是进入lesson3_dir这个目录,ls是显示当前目录下的文件或者目录名称;
ls -l是显示当前目录下的文件或者目录的更详细信息,ls -a是显示所有文件,包括隐藏文件;指令可以搭配使用如:ls -al是显示所有文件的详细信息。
touch 文件名:是创建一个普通文件,stat 文件名:是获得文件全部信息。(后续我学习到了这些信息的代表的含义在分享,ai回答的:Access:最后一次访问的时间(读取文件);Modify:最后一次修改内容的时间;Change:最后一次修改元数据的时间。
.. 是上级目录的意思。mkdir 文件名,是创建一个文件目录
mkdir -p 目录,是创建一串目录;rmdir 目录,是删除空目录;rm 文件,是删除普通文件;rm -r 目录,是递归式删除目录(全删),加入f是不需要询问我是否删除。rm -i 文件名,是删除同时问我是否删除,是就输入y,否就输入n。
man 指令名字,是查看这个指令;root用户需要输入指令安装man手册。
指令:yum install -y man-pages。
如下指令是 查看printf。
回车后显示如下(没有截取全部),点击q退出查看。
cp 被拷贝的文件/目录 目的地,就是将文件或者目录拷贝到目的地
echo “信息” > 文件,就是 将信息写入文件中;cat 文件,就是显示文件内容(正序显示)
例如我的lesson_dir目录下的test.txt文件有一万条信息,cat test.txt后就是正序显示;若tac test.txt后就是逆序显示。
more 文件,就是显示显示一页文件内容,往下看需要按enter键,q退出;more -n 文件,就是显示文件全部内容;;more -5 文件,就是显示文件前5行内容
less 文件,就是显示显示一页文件内容,往下看需要按上下键,q退出。
head 文件,就是显示文件前面若干行内容,head -数值 文件,就是显示0-数值-1行内容
tail 文件,就是显示文件尾巴若干行内容;tail-数值 文件,就是显示最后面数值行内容
如果要看某10行内容,需要指令搭配使用:head -110 test.txt | tail -10。| 是管道,用来传输资源,有一个入口,一个出口;这里的入口就是head的内容,tail就是出口。
mv 文件/目录 目的地,就是将文件或者目录剪切到目的地;或者mv 文件/目录 新名字,就是将改名字;可以和-f;-i一起使用,-f剪切/改名字强制执行,-i剪切/改名字询问是否执行。
date +%Y/%m/%d/%H:%M:%S,显示年月日时分秒,注意年是大写Y,时分秒也是大写,/:我自己的区分间隔;date是显示现在的时间;date +%s,是显示当前的时间戳(时间戳(一份数据在特定时间点存在的可验证的数据)_百度百科);date -d@1,是显示时间戳为1时候的时间。
find 目录 文件名,就是在该目录下找这个文件(.代表当前目录)
which 指令,就是搜索指令,显示指令的路径;whereis 指令/文件,就是搜索到文件/指令,显示其路径
grep '内容' 文件,就是在文件中,把有关内容显示出来;有三个常用选项-i;-n;-v;-i表示显示的时候内容不区分大小写;-n表示显示内容在原始文件的哪一行;-v表示假如你要显示999,那么他就显示除去包含999的其他内容。选项可以搭配使用。
使用管道搭配其他指令:wc -l 表示统计显示内容一共有几行
使用yum install -y nano,安装nano,安装之后在test2.txt文件中写入内容,cat 文件,先显示了,在使用sort 文件,对文件的内容按照ASCLL值排升序(ASCII_百度百科),cat 文件,再显示文件内容发现sort不会改变文件内容只是排序后在显示出来。
使用uniq 文件,把把相邻的相同内容先去除在显示内容,使用管道和sort搭配使用就能去重升序显示
cd .. 返回上级目录,然后zip -r 压缩包名字 被压缩的文件/目录(如果不使用-r的话zip默认对目录只压缩目录文件不压缩目录里面的其他文件);mkdir temp_dir,创建临时文件;mv l3.zip temp_dir将压缩包剪切到临时文件中,然后unzip l3.zip,在temp_dir中解压。如果需要指定目录解压的指令:unzip l3.zip -d 指定目录。
tar -czvf ./my.tgz ../lesson3_dir ,将上级目录下的lesson3_dir全部文件压缩到当前目录下命名为my.tgz。-c建立压缩指令,-v显示压缩内容,-f后面为压缩包名字。tar -tf my.tgz,是不解压的情况下查看压缩包的内容。(这里已经有lesson3_dir了,我先删除然后再进行解压)
tar -xzvf my.tgz,就是解压到当前路径;tar -xzvf my.tgz -C 指定路径,就是将my.tgz解压到指定路径