Liunx学习笔记-NO1

一、简介

       1、Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。
Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。
       2、通常服务器使用 LAMP(Linux + Apache + MySQL + PHP)或 LNMP(Linux + Nginx+ MySQL + PHP)组合。

二、安装(以Centos为例)

       1、可以去官网下载最新版本:https://www.centos.org/download/
       2、镜像文件说明

以下针对各个版本的ISO镜像文件,进行一一说明:

CentOS-7.0-x86_64-DVD-1503-01.iso : 标准安装版,一般下载这个就可以了(推荐)
CentOS-7.0-x86_64-NetInstall-1503-01.iso : 网络安装镜像(从网络安装或者救援系统)
CentOS-7.0-x86_64-Everything-1503-01.iso: 对完整版安装盘的软件进行补充,集成所有软件。(包含centos7的一套完整的软件包,可以用来安装系统或者填充本地镜像)
CentOS-7.0-x86_64-GnomeLive-1503-01.iso: GNOME桌面版
CentOS-7.0-x86_64-KdeLive-1503-01.iso: KDE桌面版
CentOS-7.0-x86_64-livecd-1503-01.iso : 光盘上运行的系统,类拟于winpe
CentOS-7.0-x86_64-minimal-1503-01.iso : 精简版,自带的软件最少

系统直接安装教程:https://www.runoob.com/linux/linux-install.html
VM虚拟机安装教程:https://www.runoob.com/w3cnote/vmware-install-centos7.html

三、目录结构

       在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。
       /etc:这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
       /bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin,        /usr/sbin 则是给root使用的指令。
       /var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。

三A、重置密码

       https://www.runoob.com/linux/linux-forget-password.html

五、基础指令

       -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
       ll或者ls –l : 显示一个文件的属性以及文件所属的用户和组(文件属性可见https://www.runoob.com/linux/linux-file-attr-permission.html)
       chgrp [-R] 属组名 文件名:更改文件属组
       chown [–R] 属主名 文件名:更改文件属组
       chown [-R] 属主名:属组名 文件名:更改文件属主,也可以同时更改文件属组
       例:chown bin install.log --> 将install.log的拥有者改为bin这个账号
       chown root:root install.log --> 将install.log的拥有者与群组改回为root
       chmod [-R] xyz 文件或目录:xyz就是数字类型的权限属性,为 rwx 属性数值的相加。(r=4,w=2,x=1)
       例:chmod 777 .bashrc:将.bashrc这个文件所有的权限都设定启用即-rwxrwxrwx

       处理目录的常用命令:
       ls: 列出目录
       cd:切换目录
       pwd:显示目前的目录
       mkdir:创建一个新的目录
       rmdir:删除一个空的目录
       【注】:这个 rmdir 仅能删除空的目录,你可以使用 rm 命令来删除非空目录。

       cp: 复制文件或目录 cp [-adfilprsu] 来源档(source) 目标档(destination)
       选项与参数
              -a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
              -d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
              -f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
              -i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
              -l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;
              -p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
              -r:递归持续复制,用於目录的复制行为;(常用)
              -s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;
              -u:若 destination 比 source 旧才升级 destination !

       rm: 移除文件或目录 rm [-fir] 文件或目录
              -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
              -i :互动模式,在删除前会询问使用者是否动作
              -r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!

       mv: 移动文件与目录,或修改文件与目录的名称 mv [-fiu] source destination
              -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
              -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
              -u :若目标文件已经存在,且 source 比较新,才会升级 (update)

你可以使用 man [命令] 来查看各个命令的使用文档,如 :man cp。

例:
[root@www ~]# pwd
[root@www mail]# pwd -P
[root@www tmp]# mkdir test    <==创建一名为 test 的新目录
[root@www tmp]# mkdir -p test1/test2/test3/test4   <==直接创建此目录
[root@www tmp]# rmdir test   <==可直接删除掉,没问题
[root@www tmp]# rmdir -p test1/test2/test3/test4  <==可以将 test1/test2/test3/test4 一次删除
[root@www ~]# cp ~/.bashrc /tmp/bashrc
[root@www ~]# cp -i ~/.bashrc /tmp/bashrc
[root@www tmp]# rm -i bashrc   <==将刚刚在 cp 的实例中创建的 bashrc 删除掉!

       Linux 文件内容查看

       Linux系统中使用以下命令来查看文件的内容:

              cat 由第一行开始显示文件内容
              tac 从最后一行开始显示,可以看出 tac 是 cat 的倒著写!
              nl 显示的时候,顺道输出行号!
              more 一页一页的显示文件内容
              less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
              head 只看头几行
              tail 只看尾巴几行

              cat:由第一行开始显示文件内容
              语法:cat [-AbEnTv]
              选项与参数:
                     -A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
                     -b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
                     -E :将结尾的断行字节 $ 显示出来;
                     -n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
                     -T :将 [tab] 按键以 ^I 显示出来;
                     -v :列出一些看不出来的特殊字符
检看 /etc/issue 这个文件的内容:

[root@www ~]# cat /etc/issue
CentOS release 6.4 (Final)
Kernel \r on an \m

tac:tac与cat命令刚好相反,文件内容从最后一行开始显示,可以看出 tac 是 cat 的倒着写!如:


[root@www ~]# tac /etc/issue
Kernel \r on an \m
CentOS release 6.4 (Final)

       nl:显示行号
       语法:nl [-bnw] 文件
       选项与参数:
                     -b :指定行号指定的方式,主要有两种:
                     -b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
                     -b t :如果有空行,空的那一行不要列出行号(默认值);
                     -n :列出行号表示的方法,主要有三种:
                     -n ln :行号在荧幕的最左方显示;
                     -n rn :行号在自己栏位的最右方显示,且不加 0 ;
                     -n rz :行号在自己栏位的最右方显示,且加 0 ;
                     -w :行号栏位的占用的位数。
实例一:用 nl 列出 /etc/issue 的内容

[root@www ~]# nl /etc/issue
     1  CentOS release 6.4 (Final)
     2  Kernel \r on an \m

       more:一页一页翻动
       在 more 这个程序的运行过程中,你有几个按键可以按的:
              空白键 (space):代表向下翻一页;
              Enter :代表向下翻『一行』;
              /字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
              :f :立刻显示出档名以及目前显示的行数;
              q :代表立刻离开 more ,不再显示该文件内容。
              b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。

[root@www ~]# more /etc/man_db.config 
#
# Generated automatically from man.conf.in by the
# configure script.
#
# man.conf from man-1.6d
....(中间省略)....
--More--(28%)  <== 重点在这一行喔!你的光标也会在这里等待你的命令

              less:一页一页翻动
              less运行时可以输入的命令有:
                     空白键 :向下翻动一页;
                     [pagedown]:向下翻动一页;
                     [pageup] :向上翻动一页;
                     /字串 :向下搜寻『字串』的功能;
                     ?字串 :向上搜寻『字串』的功能;
                     n :重复前一个搜寻 (与 / 或 ? 有关!)
                     N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
                     q :离开 less 这个程序;
一页一页翻动,以下实例输出/etc/man.config文件的内容

[root@www ~]# less /etc/man.config
#
# Generated automatically from man.conf.in by the
# configure script.
#
# man.conf from man-1.6d
....(中间省略)....
:   <== 这里可以等待你输入命令!

       head:取出文件前面几行
       语法:head [-n number] 文件
       选项与参数:
              -n :后面接数字,代表显示几行的意思

[root@www ~]# head /etc/man.config

默认的情况中,显示前面 10 行!若要显示前 20 行,就得要这样:

[root@www ~]# head -n 20 /etc/man.config

       tail:取出文件后面几行
       语法:tail [-n number] 文件
       选项与参数:
              -n :后面接数字,代表显示几行的意思
              -f :表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测

[root@www ~]# tail /etc/man.config
# 默认的情况中,显示最后的十行!若要显示最后的 20 行,就得要这样:
[root@www ~]# tail -n 20 /etc/man.config
发布了24 篇原创文章 · 获赞 1 · 访问量 534

猜你喜欢

转载自blog.csdn.net/Kasey_L/article/details/104798335