linux笔记-基础篇

    xiaoxiao2021-03-26  19

    linux概念

    linux是一种网络操作系统,主要运行在服务器上。它的基本思想有两点:1、一切都是文件,2、每个软件都有确定的用途。它由linux内核、shell(用户与内核交互的接口)、文件系统:ext3、ext4等、第三方应用软件构成。

    linux文件系统

    目录结构

    bin:存放二进制可执行文件(ls,cat,mkdir等)

    boot:存放用于系统引导时使用的各种文件

    dev:用于存放设备文件

    etc:存放系统配置文件

    home:存放所用用户文件的根目录

    lib:存放跟文件系统中的程序运行所需要的共享库及内核模块

    mnt:系统管理员安装临时文件系统的安装点

    opt:额外安装的可选应用程序包所放置的位置

    proc:虚拟文件系统,存放当前内存的映射

    root:超级用户目录

    sbin:用于存放各种临时文件

    usr:用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录

    var:用于存放运行时需要改变数据的文件

    文件权限

    说明:w:可写    r:只读   x:可执行   -:无权限

    文件权限:

        1.字符表示法:drwxr-xr-x

             第1个字符表示:该文件的类型   

             第2-4字符表示:该文件的属主用户的权限(w:可写    r:只读   x:可执行   -:无权限

             第5-7字符表示:与属主用户同一组其他用户的权限

             第8-10字符表示:不同组的其他用户的权限

         2.数字表示法

             r=4,w=2,x=1,-=0;(因为系统只能识别二进制数字,1表示有权限,0表示没权限,rwx表示都有权限用二进制表示为111,转化为十进制就是4+2+1=7,r就相当于4,w相当于2,x相当于1,当无权限用-表示,所以-相当于0)

             drwxr-xr-x用数字表示权限就是d755。

    linux命令      

    命令交互模式切换:ctrl+alt+f1---f6(linux提供6个命令交互通道)

    切换到图形交互界面:ctrl+alt+f7(当安装了图形模块时系统默认进入图形交互界面)

    long@center6 ~$(命令提示符):   long:用户名,    center6:主机名,    ~:路径(若当前目录是用户存放数据的根目录,则显示~)    $:用户的类型   $代表普通用户,#代表超级用户

    linux常用命令

    主要演示:帮助命令、切换用户、关机重启注销、目录和文件的操作、管道命令、重定向、创建用户以及更改密码

    帮助命令:man 命令开头字符,例如:man su(弹出su命令的帮助文档),man ls(弹出ls命令的帮助文档),man为manual的缩写,看完帮助文档后可按q键退出回到命令行。

    1.切换用户(su [user_name],su为switch user转换用户的缩写)

    取得超级用户权限:su root(接着输入root密码就行,当不需要以超级用户权限时,可以su原用户名或exit回退到原用户)

    取得超级用户权限以及他的环境变量:su - root

    取得jiansheng的用户权限:su jiansheng

    2.关机重启注销

    注销:logout(命令交互模式下才有用),或者登出:exit(图形交互界面下最多只能退出terminal)

    关机:shutdown -h 时间,例如:shutdown -h now(时间有3种表示方法:1、now:马上,2、22.00:具体指定时间,3、3:几分钟之后),当然关机还有init 0等命令可以关机。

    重启:shutdown -r 时间,例如:shutdown -r now(立刻重启)。

    3.文件操作命令

    查看目录(ls,ls为list的缩写)

    查看目录里的内容:ls(以linux默认方式查看,显示简要的非隐藏文件(目录也是一种文件))

    查看目录里各可见文件的详细信息:ls -l或者简写的命令ll,

    查看目录里全部文件:ls -a

    查看目录里全部文件的详细信息:ls -a -l或者ls -l -a或者ls -la

    进出目录(cd[相对或绝对路径],cd是change dir的缩写即改变目录)

    进入/usr/local目录:cd /usr/local(所有目录文件都是以/开始的,以/开头的代表绝对路径)

    进入当前目录中的test文件夹:cd test

    返回当前目录的上一层目录:cd ..

    进入上一层目录中的var目录中:cd ../var

    进入用户的home目录:cd ~[user_name],例如:cd ~zhangsan:进入张三用户的家目录,cd ~:进入当前用户的家目录。

    查看当前目录的路径:pwd(当为图形交互界面时,终端的顶部就有当前用户所在的路径)

    创建目录(mkdir [选项] 目录名,mkdir为make directory的缩写)

    在当前目录创建test目录:mkdir test或者mkdir ./test

    创建/test/java目录:mkdir -p /test/java(可通过-p(p为parents的简写)选项来创建多个目录)

    创建权限为777的test2目录:mkdir -m 777 test2(-m与-p一样,是选项,它是来设置权限的)

    创建test3目录时显示信息:mkdir -v test3(-v表示显示进度)

    创建权限为777的lib/java目录并显示信息:mkdir -vp -m 777 lib/java(其中lib的权限是默认权限,java的权限是777)

    创建一个项目的结构:mkdir -vp tianmaoshop/{lib,bin,doc/{info,product},log,service} (这里可用大括号与逗号表示多个子目录,项目结构可以用tree命令查看,tree命令需要下载安装)

    删除目录

    rm [选项] 目录名,rm为remove的缩写,选项:-i:删除前逐一询问,-f:即使文件是只读,也可以删除,无需逐一确认,-r:将目录下的文件逐一删除(递归删除),rm默认删除文件,需要加-rf就能快速删除目录。

    快速删除test目录并显示进度:rm -rfv test

    逐一询问删除test目录:rm -r test或者rm -ri test

    创建文件

    创建一个普通空白文件:touch 文件名,例如:touch a.txt、touch a.mp3等

    创建一个文档:vi a.txt (编辑后按esc键再输入:wq就可以退出编辑回到命令行,当有同名文件时则是打开该文件)

    查看文件

    查看文件内容:cat [选项] 文件名,例如:cat a.txt,该命令将a.txt文件的内容输出到控制台,并跳转到最末尾,可用cat --help命令查看option(选项)等解释。

    分页查看文件内容:more [选项] 文件名,例如:more -10 a.txt,该命令将文件内容分页,并显示第一页(10行)到控制台,按空格键显示下一页。

    编辑文件 编辑绝对路径下的文件:vi 文件的绝对路径,例如:vi /test/a.txt(/是linux的所有目录的根目录,以/开头的路径代表绝对路径,按esc后再输入:wq退出编辑)

    编辑当前目录下的文件:vi a.txt 或vim a.txt,建议使用vim,因为vim切换编辑模式时不会出问题。表示编辑当前目录下的a.txt文件,若没有该文件就创建。

    编辑模式切换:一开始以vi或vim打开文件进入文件的模式是一般模式,可以删除复制粘贴、移动光标、跳转页面和行号以及替换和查找;当按下i(插入)、a(添加)、o(插入新一行)、r(替换)后就进入了编辑模式,此时可以修改文件内容,编辑模式下按esc键返回一般模式;当在一般模式输入":"或"/"后进入命令模式,退出编辑器就是在命令模式下完成的。

    在文件中查找tomcat字符串:一般模式下输入/tomcat,表示在光标后查找tomcat字符串,(?tomcat表示在光标之前查找tomcat字符串)

    保存文件:按esc后再输入:w

    退出编辑器:按esc后再输入:q(适用于文件没有修改的情况)

    退出编辑器并保存修改文件:按esc后再输入:qw

    退出编辑器但不保存修改:按esc后再输入:q!

    删除文件

    删除a.txt文件:rm a.txt(默认询问删除)

    不询问直接删除a.txt并显示进度:rm -fv a.txt(直接删除,若a.txt不存在则不提示已删除)

    复制文件(有三种语法,具体见man cp)

    复制文件到另一目录下并显示进度:cp -v a.txt /test/java/c.txt,将a.txt复制到/test/java目录中并更名为c.txt,若有c.txt文件则会询问是否覆盖。

    移动文件(mv [option] source destination)

    移动文件到当前目录:mv -v /test/java/c.txt ./

    创建连接文件

    连接分为硬连接和软连接。硬连接是文件都指向同一个数据存储块,当硬连接文件全被删除时数据块才被释放,效果好比复制但它们之间会同步;软连接其实就相当于快捷方式,它实际是个字符文件,存储的是连接指向的地址值。

    给当前目录的文件创建硬连接:ln config.xml /test/resource/config(默认创建的是硬连接)

    给文件创建软连接:ln -s ./config.xml ../config.lk(选项-s为软连接)

    管道命令(命令 | 命令)

    从左往右执行,将"|"左边命令的输出作为"|"右边命令的输入。

    用管道命令统计文件字数:cat a.txt | wc,即先用cat输出a.txt的内容,wc再对该输出内容进行字符统计

    重定向(echo)

    将baseurl=localhost输入给a.txt:echo "baseurl=localhost" > a.txt,该命令会覆盖a.txt内容,若没有a.txt则会新建文件再添加内容

    baseurl=localhost追加给a.txt:echo "baseurl=localhost" >> a.txt,该命令会在a.txt的末尾新建一行添加baseurl=localhost

    创建用户以及更改密码

    更新当前用户密码:passwd

    以root身份创建用户:useradd -d /home/username username,-d代表新用户的家目录,密码可以passwd命令设置

    以root身份给用户新建或更改密码:passwd username,更改密码可能会出现密码过短或过于简单的提示,忽略这些提示,确认新密码时直接输入相同新密码即可。

    转载请注明原文地址: https://ju.6miu.com/read-658637.html

    最新回复(0)