作者介绍:
关于作者:东条希尔薇,一名喜欢编程的在校大学生
主攻方向:c++和linux
码云主页点我
本系列仓库直通车
作者CSDN主页地址
这是新坑的第一篇文章,也是我年前的最后一篇,作者先在这里和大家拜个早年啦!
这个系列,我们将通过linux详细的介绍操作系统和计算机网络,以及linux下的数据库操作
因为linux是纯命令的一种操作系统(xshell上),当然也有图形化的界面(虚拟机上的centos系列等),但因为以后去公司使用linux系统的话都是纯指令操作,所以我们在本篇文章中重点使用xshell纯命令模式来介绍linux
要了解linux,首先要了解怎么操作linux,以及简单的代码编写等
坐好,我们开始喽!
目录
linux热键
ctrl+c立刻结束当前程序
ctrl+d有exit的意思,也象征键盘的输入结束
tab命令自动补全(重要),例如你想打开一个test的文件夹,你可以直接输入t后再输入tab,可以直接补全文件夹名
**ctrl+insert(可能还需要加fn)**复制
**shift+insert(可能还需要加fn)**粘贴
linux用户操作
adduser添加用户
需要在root权限下使用
使用示例:adduser dtxew(创建一个名为dtxew的用户)
passwd修改用户密码
需要在root权限下使用
为我们的账户修改密码,如果是新账户就必须要设置密码,不然无法登入账户
使用示例:passwd test(为test用户设置密码)
注意:linux下输入密码不回显,所以就算你输入了密码,你也无法在屏幕上看到
userdel删除用户
需要在root权限下使用
使用示例:userdel -r test(删除名为test的用户)
注意:删除用户最好加上-r,这样可以删除该用户所有的文件
linux文件读和访问操作
首先我们来了解一下文章路径的一些概念:路径是标准文件和访问文件位置的路径
linux系统中,文章是以文件树的形式来组织的,其中根目录的路径是/
其中从根目录出发的路径,叫做绝对路径
例如,我们要从根目录到sz用户下的1_24_blog文件夹中
从当前文件夹某一个文件出发的路径,称为相对路径
例如,我们要从blog文件夹到根目录下
拥有一个文件的路径,可以方便我们对大量文件的操作
ls文件查看(重要)
使用示例 ls /lesson1 (列出lesson1文件夹下的所有文件)(后面不带路径的话会展示当然文件夹的文件)
使用标准:ls 【选项参数】【目录路径】
ls一些附加参数
ls -l显示文件的详细信息(可简写为ll)
(这些详细信息代表的含义我们在后面介绍)
ls -a 可以显示隐藏文件
其中,文件前面带点的都是隐藏文件,而在每个目录新创建,都会自动带上两个隐藏目录.(一点)…(两点),其中一点代表当然路径,两点代表上一级路径
所以,我们可以通过ls …查看上级路径
ls -R递归列出所有子文件夹下的文件(递归列出)
cd改变工作目录(重要)
我们可以通过cd命令来进入某个目录
使用格式:cd 【目录名】
例如:
cd 其它操作
cd … 返回上级目录
cd ~进入用户的家目录
cd -进入用户的最近访问的目录
cat文件查看
使用:cat 文件名
我们可以直接将文件内容打印在我们的终端中
例如我们需要查看我们写的c语言代码
cat的其它参数
cat -n对输出行标上序号
cat只适用与查看短小的文件,对于很长的文件,因为cat指令会刷屏,所以要查看文件最开始的内容会变得比较麻烦
more文件查看
使用:more【选项】【文件名】
more指令可以更好的查看文档,它默认以文章开头开始,按回车可以往下翻页
在查看时可按q退出, -n输入行号
但more指令是不能够往上翻页的,只能往下翻页
less文件查看(重要)
使用:less【选项】【文件名】
相对与上面两个指令,less指令可以更加方便地查看长文档,是一种强大的文本查看工具
less支持按上下键翻页
less支持搜索功能
在命令行中按/会从当前位置出发往下查找需要查找的字符串
在命令行中按?会从当前位置出发往下查找需要查找的字符串
其它操作
-i搜索忽略大小写
-N显示行号
q退出
head文档开始
使用:head【选项】【文件】
head会将文件的前面的内容输出在终端中,默认打印前10行
示例:
tail显示文件末尾
用法与head一样,但会显示文档后面的内容
重要补充:重定向与管道
问题的引入:如何将文档中间的内容输出到某个文件中
首先我们认识一下echo命令
使用格式:echo “【字符串】”,它会把输出字符串显示在标准输出中
例如:
而我们可以通过重定向,将我们的标准输出保存在我们的某个文件中,如果无此文件,则会重新创建一个
使用方法:在指令后面加一个大于符号,指向我们的新文件
但如果我们反复重定向在一个文件中,将会默认覆盖掉原来的内容
所以我们引入了追加重定向,使用方法是再加一个大于符号,它不会覆盖原内容
所以我们可以通过重定向将某个标准输出保存在另外的文件中
第一个问题解决了,那么,我们怎么截取100-120行的内容?
我们可以先通过head -120截取前120行的内容,再把截取的内容再进行tail-20,就可以截取到100-120行的信息了
这么操作可能略显麻烦,不仅需要两个指令,而且还需要一个临时文件
那么,怎么简化我们的操作呢?
我们可以使用管道技术
管道其实就是一个流水线,它可以把前面指令得到的数据继续传输到下一条指令继续执行
使用方法,在两条指令中间加入|
例如:
find -name 文件查找和which指令查找(重要)
使用示例:find【文件路径】-name【文件名】
which可以查看指令存在的路径
例如:
我们也可以使用通配符来查找
grap搜索
使用:grap【选项】“【字符串】”【文件】
作用:在文件下搜索字符串,将找到的行打印出来
例如:
其它操作:
-i 查找忽略大小写
-E使用正则表达式:常用的有^a,显示以a开头的行,$匹配文件末尾
文件写与修改操作
touch创建普通文件(重要)
使用:touch 文件名…(支持批量创建文件),不允许创建同名文件,将会覆盖原来的文件(更新时间)
例如:
mkdir创建文件夹(重要)
使用:mkdir【目录名】
可以创建一个新文件夹
另外的,如果加上-p,将会递归根据给出路径创建文件夹
rmdir&&rm删除文件夹&&删除目录(重要)
使用:rmdir&&rm【文件夹&&文件名】
rmdir默认不会删除非空目录
选项:
rmdir -r 删除目录下的所有文件
rmdir -f连被保护文件一并删除
rmdir -i删除前确认
cp复制(重要)
使用:cp【选项】【源文件目录】【现文件目录】
可以将某个文件复制到某个新的目录中,同样可以使用-r复制整个文件夹
mv剪切(重要)
使用:与cp类似
可以移动文件到相应位置,如果源目录和目标目录相同,相当于重命名
其它指令
pwd(显示当然所在文件路径)
压缩命令,zip和tar等
使用:zip【压缩文件名.zip】【压缩目标】,可使用-r递归处理整个目录
示例:
unzip【文件名】解包
tar命令:打包和压缩
常用选项:
-c建立一个压缩文件
-z使用gzip压缩算法压缩
-v压缩过程中显示文件
-f将压缩文件重命名为。。。
使用示例: