Linux基础学习 (一)

作者: simuty | 来源:发表于2016-03-26 23:08 被阅读673次

    最近在初步学习如何搭建一个简单的后台,因此重新学习一下Linux基础操作;

    概念:Linux是开源的、免费的操作系统,稳定性、安全性与并发性得到业界公认,是一个统称,常见的CentOS、Rethat、、、、主要有两个方向:Linux管理员(对系统管理)、Linux程序员(在系统之上进行开发):Linux软件工程师和Linux嵌入开发。

    阶段可以分为四个阶段:1、Linux平台开发,基本操作,包括vi、gcc、gdb、jdk、mysql..等;2、学习C语言、JAVA等;3、学习UNIX编程;4、Linux软件开发、Linux嵌入式开发;

    第一、特点
    1. 开源、免费;
    2. 多线程、多用户;
    3. 安全性好;
    4. 对内存和文件管理优越。
    5. Linux最小只需要4M;
    6. 操作相对困难;
    第二、历程

    1960年麻省理工可以30个人同时使用计算机,1965年火星计划--计划300人共同使用,1969年火星计划失败,贝尔实验室Ken tompson(C语言设计者)利用火星代码开发了一个file server system并受好评;Ken tompson与Dennis richres经过4年,1973年开发出一个系统UNIX系统并开源,随后在Unix基础之上IBM开发出aiz、sun公司开发Solaris、HP开发HP unix、伯克利分校开发bsd、minix等都需要安装在特定的电脑上;

    1991年芬兰的研究生Linus希望将minix移植到pc上,1994年发布Linux的1.0版本开源无桌面,随后Redhat再Linux基础之上开发软件、桌面等开始收费、s.u.s.c也开发桌面、中国开发红旗、;

    1. 1999年,IBM宣布与Redhat建立伙伴关系;
    2. 2000年,Sun公司在Linux压力下降低Solaris8售价;
    3. 2001年IBM投入10亿美元扩大Linux系统运用,8月红色代码爆发,许多站点转向Linux;
    4. 2002年宣布Linux系统支持64位计算机;
    5. 2003年1月,NEC宣布在手机中使用Linux,代表Linux进军手机领域;
    6. 2004年6月世界500强中使用Linux的占到280席,IBM准备退出OpenPower服务器,仅支持Linux系统;
    第三、命令行《 约瑟夫问题
    vi
    1. 关机 shutdown -h row 现在关机
    2. 重启 shutdown -r row / reboot;
    3. 尽量用普通用户,可以用sudo -切换管理员操作;
    4. 注销用户logout
    5. vi编辑器开发者<黑客之王>
    6. Linux可以直接开发Java、C程序、C++程序;Java编译:javac Hello.java;运行:java Hello/c语言创建:vi Hello.cpp 编译到指定文件:gcc -o 文件名 Hello.cpp 运行:./文件.out
    目录
    1. /:/ 存放root用户的相关文件;# cd /
    2. /home:存放普通用户相关文件的目录;
    3. /bin:存放常用命令的目录;
    4. /sbin:具有一定权限才可以使用的命令;
    5. /mnt:装置文件系统的加载点,默认挂载光驱、软驱的目录;
    6. /etc:存放配置相关的文件,如:MySQL配置、中文配置、用户权限等等;
    7. /var:存放经常变化的数据,如:MySQL临时文件,关闭就没了;
    8. /boot:存放引导相关的文件,如果删了系统就毁了;
    9. /usr:安装文件的默认安装的目录;
    10. /dev:接口设备文件目录,如had表示硬盘;
    11. /proc:目前系统核心与程序执行的信息。
    命令
    1. 显示当前目录的路径:# pwd;
    2. cd 改变目录;
    3. ls 列出文件和目录
    4. ls -a 显示所有文件包括隐藏文件
    5. ls -l 显示长列表格式;
    运行级别:
    0:关机,打开就关机;
    1:单用户,类似window的安全模式,无网、且链接不上;
    2:多用户状态且没有网络服务;
    3:#多用户状态有网络服务#,进入Linux mini就是这个级别;
    4:系统未使用保留给用户;
    5:#图形界面#;
    6:系统重启;
    
    更改用户权限在:/etc/inittab目录下更改,如果设置为6将无限重启,解决方法:在进入grub<启动时>输入`e`,在选中第二行再输入`e`,进入修改页面输入`1`,进入单用户级别<只有单用户级别启动时不查看/etc/inittab>,更改/etc/inittab 为3就好,设置密码就直接覆盖旧的密码,passwd 用户名
    centos 7中 /etc/inittab有提示systemctl set-default ...
    
    
    命令行(一)用户命令
    1. 添加用户:useradd testName,之后会在/home下有testName用户文件夹;
    2. 设置密码跟上用户名:passwd testName
    3. 删除用户保留文件夹:userdel testName
    4. 删除用户及用户的目录:userdel -r testName;
    5. 以某一个用户身份登陆:su testName;
    命令行(二) > r m 删除
    1. 格式:rm [选项] 目录...
    2. 参数
    -d --directory    删除可能仍有数据的目录 (只限超级用户)
    -f --force    忽略不存在的文件,从不给出提示;
    -i --interactive 进行交互式删除
    -r, -R, --recursive   指示rm将参数中列出的全部目录和子目录均递归地删除。
    -v, --verbose    详细显示进行的步骤
    --help     显示此帮助信息并退出
    --version  输出版本信息并退出
    
    1. rm -rf 强行删除目录
    2. rm -r 删除文件
    命令行(三) mkdir 创建文件夹

    文件权限:-rwx r—— -xr 第一位代表文件类型,分为3组3个权限,第一部分位为文件持有者的权限,第二部分为文件持有者所在组队文件操作的权限,第三部分为其他用户对文件的操作的权限 读取的权限等于4,用r表示;写入的权限等于2,用w表示;执行的权限等于1,用x表示;

    1. -m, --mode=模式,设定权限<模式> (类似 chmod),mkdir -m 777 test1
    2. -p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录 mkdir -p test2/test22;
    3. -v, --verbose 每次创建新目录都显示信息 mkdir -vp test3/test33;
    命令行(四) cp 拷贝

    1.命令格式:

    用法:
    cp [选项]... [-T] 源 目的
    或:cp [选项]... 源... 目录
    或:cp [选项]... -t 目录 源...
    

    2.命令功能:
    将源文件复制至目标文件,或将多个源文件复制至目标目录。

    3.命令参数:

    -a, --archive    等于-dR --preserve=all
        --backup[=CONTROL    为每个已存在的目标文件创建备份
    -b                类似--backup 但不接受参数
       --copy-contents        在递归处理是复制特殊文件内容
    -d                等于--no-dereference --preserve=links
    -f, --force        如果目标文件无法打开则将其移除并重试(当 -n 选项
                        存在时则不需再选此项)
    -i, --interactive        覆盖前询问(使前面的 -n 选项失效)
    -H                跟随源文件中的命令行符号链接
    -l, --link            链接文件而不复制
    -L, --dereference   总是跟随符号链接
    -n, --no-clobber   不要覆盖已存在的文件(使前面的 -i 选项失效)
    -P, --no-dereference   不跟随源文件中的符号链接
    -p                等于--preserve=模式,所有权,时间戳
        --preserve[=属性列表   保持指定的属性(默认:模式,所有权,时间戳),如果
                   可能保持附加属性:环境、链接、xattr 等
    -R, -r, --recursive  复制目录及目录内的所有项目
    
    

    4.命令实例:

    实例一:复制单个文件到目标目录,文件在目标文件中不存在
    命令:
    cp log.log test5
    说明:
    在没有带-a参数时,两个文件的时间是不一样的。在带了-a参数时,两个文件的时间是一致的。

    实例二:目标文件存在时,会询问是否覆盖
    命令:
    cp log.log test5

    说明:
    目标文件存在时,会询问是否覆盖。这是因为cp是cp -i的别名。目标文件存在时,即使加了-f标志,也还会询问是否覆盖。

    命令行(五) ls 罗列
    1. 常用参数:
    
    -a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件
    -A 同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)。
    -c  配合 -lt:根据 ctime 排序及显示 ctime (文件状态最后更改的时间)配合 -l:显示 ctime 但根据名称排序否则:根据 ctime 排序
    -C 每栏由上至下列出项目
    –color[=WHEN] 控制是否使用色彩分辨文件。WHEN 可以是'never'、'always'或'auto'其中之一
    -d, –directory 将目录象文件一样显示,而不是显示其下的文件。
    -D, –dired 产生适合 Emacs 的 dired 模式使用的结果
    -f 对输出的文件不进行排序,-aU 选项生效,-lst 选项失效
    -g 类似 -l,但不列出所有者
    -G, –no-group 不列出任何有关组的信息
    -h, –human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G)
    –si 类似 -h,但文件大小取 1000 的次方而不是 1024
    -H, –dereference-command-line 使用命令列中的符号链接指示的真正目的地
    –indicator-style=方式 指定在每个项目名称后加上指示符号<方式>:none (默认),classify (-F),file-type (-p)
    -i, –inode 印出每个文件的 inode 号
    -I, –ignore=样式 不印出任何符合 shell 万用字符<样式>的项目
    -k 即 –block-size=1K,以 k 字节的形式表示文件的大小。
    -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。
    -L, –dereference 当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息
    -m 所有项目以逗号分隔,并填满整行行宽
    -o 类似 -l,显示文件的除组信息外的详细信息。   
    -r, –reverse 依相反次序排列
    -R, –recursive 同时列出所有子目录层
    -s, –size 以块大小为单位列出所有文件的大小
    -S 根据文件大小排序
    –sort=WORD 以下是可选用的 WORD 和它们代表的相应选项:
    extension -X status -c
    none -U time -t
    size -S atime -u
    time -t access -u
    version -v use -u
    -t 以文件修改时间排序
    -u 配合 -lt:显示访问时间而且依访问时间排序
    配合 -l:显示访问时间但根据名称排序
    否则:根据访问时间排序
    -U 不进行排序;依文件系统原有的次序列出项目
    -v 根据版本进行排序
    -w, –width=COLS 自行指定屏幕宽度而不使用目前的数值
    -x 逐行列出项目而不是逐栏列出
    -X 根据扩展名排序
    -1 每行只列出一个文件
    –help 显示此帮助信息并离开
    –version 显示版本信息并离开
    
    
    
    命令行(六) | 管道命令
    1. 把执行命令的结果交给|后面的命令处理;
    2. 例子:ls -a /etc | more
    命令行(七) more

    more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。

    1.命令格式:

    more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ] 
    

    2.命令功能:

    more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。
    

    3.命令参数:

    +n      从笫n行开始显示
    -n       定义屏幕大小为n行
    +/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示  
    -c       从顶部清屏,然后显示
    -d       提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
    -l        忽略Ctrl+l(换页)字符
    -p       通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
    -s       把连续的多个空行显示为一行
    -u       把文件内容中的下画线去掉
    

    4.常用操作命令:

    Enter    向下n行,需要定义。默认为1行
    Ctrl+F   向下滚动一屏
    空格键  向下滚动一屏
    Ctrl+B  返回上一屏
    =       输出当前行的行号
    :f     输出文件名和当前行的行号
    V      调用vi编辑器
    !命令   调用Shell,并执行命令 
    q       退出more
    

    5.命令实例:

    实例1:显示文件中从第4行起的内容
    more +4 file.log
    实例2:列一个目录下的文件,由于内容太多,我们应该学会用more来分页显示。这得和管道 | 结合起来,每页显示5个文件信息 
    命令:
    ls -l  | more -5
    
    
    命令行(八) grep

    1.作用

    Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
    

    2.格式
    grep [options]

    命令行(九) less
    命令行(十) man
    1. 类似于help;
    2. 使用:#man cp[命令]
    命令行(十一) find
    1. find / -name

    更多精彩内容请关注“IT实战联盟”哦~~~


    IT实战联盟.jpg

    相关文章

      网友评论

        本文标题:Linux基础学习 (一)

        本文链接:https://www.haomeiwen.com/subject/jbgdlttx.html