点击查看Evernote原文

#@author:       gr
#@date: 2014-10-11
#@email: forgerui@gmail.com

前言

  1. 为什么学习Linux?:-)

    酷Cool

    了解系统的底层,而不是界面

    工作需求
  2. 这次学习的目标

    基本会使用Linux

    熟悉Linux开发环境

    在Linux下开发程序
  3. 我自己也不是很懂,大家一起共同讨论学习。讲的内容也不是很全,只是一些基础知识,大家如果希望使用好Linux,还要自己多去研究探索。关键就是多练多用多解决问题
  4. 推荐图书《鸟哥的私房菜-基础篇》,如果想了解Shell编程的话,可以看《Linux Shell脚本攻略》。更高级的书《深入理解LINUX内核》,《UNIX环境高级编程》。

一、Linux文件系统结构

  1. 了解Linux目录结构,及各个目录存放的内容

    Windows进行C盘、D盘分盘不同,Linux的文件系统是以树进行组织的。如图,是根目录/下的文件。

    /: 根目录,所有文件的最高目录

    /bin: 存放常用命令

    /dev: 存放设备文件

    /etc: 存放配置文件

    /home: 用户工作目录

    /lib: 存放共享链接库

    /root: 超级用户的工作目录

    /sbin: 系统管理员的程序

    /tmp: 存放临时文件

    /usr: 存放用户程序的目录

    /proc: 操作系统的实时信息

    /var: 存放系统的日志文件

  2. 了解文件的权限

    文件的权限有r,w,x,代表的数值分别为4,2,1;

    例:如果权限是5,5=4+1;6=4+2;7=4+2+1;

    文件的权限管理。文件有三种权限,分别是该文件的所属用户,与所属用户同组的用户,其他用户。分别表示为u,g,o

二、Linux基础命令

  1. ls(list): 列出目录下的所有文件

    # 显示/home目录下的文件

    ls /home/

    # 显示所有文件,包括隐藏文件(前面有.)

    ls -a

    # 显示详细信息

    ls -l

    # 按修改时间排序

    ls -c

  2. cd(change directory): 改变当前目录

    路径有绝对路径和相对路径。

    绝对路径是从根目录/开始的。

    相对路径是相对当前工作目录的路径,使用相对路径,可以更简单方便。

    # 返回到上一层目录。 ../ 表示上一层

    cd ../

    # 进入当前目录的Documents子目录下,不必要敲全路径

    cd Documents/

  3. mkdir(make directory): 新建一个目录

     # 在当前目录下新建一个叫workspace的目录
    mkdir workspace
    mkdir -p /home/gr/t/t1
  4. rm(remove): 删除文件或目录

    # 删除/home下的test文件

    rm /home/test

    # 删除t/文件夹

    rm -rf t

    注意: 如果不清楚命令的话,慎用rm

  5. mv(move): 移动文件或目录

    mv test /home/

    # 进行重命名

    mv test test1

  6. cp(copy): 拷贝文件或目录

    cp test /home/

    # 拷贝目录

    cp -r t /home/

  7. pwd: 显示当前目录

  8. sudo: 以超级管理员的权限运行,su命令

    # 以超级管理员的权限执行后面的拷贝命令

    sudo cp -r t /home

    # 切换到tmp用户

    su tmp

  9. chmod: 改变文件权限

    上面讲到文件的权限有三组。-代表无权限。如下:



    文件描述一共有10个字符表示,第一个代表文件类型,以后3组分别为文件所有者的读、写和执行权限;与所有者同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。

    # 使文件的权限都变成可读可写可执行

    chmod 777 test

    # 使用/home文件下所有文件都变为可读可写可执行,包括子目录

    chmod -R 777 /home/

    # 文件的所有者添加可执行权限

    chmod u+x test

    # 所有用户都添加可读权限

    chmod a+r test

    # 其他用户去掉可写权限

    chmod o-w test

    注意:权限管理在Linux中很重要,一些问题可能就是因为没有权限导致的。

  10. ifconfig: 查看ip地址

三、 软件安装

  1. 最基本的是使用源码进行编译安装。

    首先下载程序的源代码,一般编译安装有三个步骤,分别是配置编译安装。如下:

    ./configure

    make

    sudo make install

    当然,也有一些软件使用Cmake进行管理,这时命令稍微有些区别。

    mkdir release

    cd release

    cmake ../

    make install

  2. 使用别人打包好的软件包进行安装。不同的发行版本有不同的软件包管理方式。以Redhat阵容的软件管理使用rpm工具,以Debian阵容的软件管理采用dpkg

    # 安装rpm包

    rpm -ivh tftp.rpm

    # 安装deb包

    dpkg -i tftp.deb

  3. 当有网络时,可以用软件源进行安装。分别使用更高级的yumapt-get更方便。它们会为你自动解决依赖问题,安装需要的软件。

     # Redhat方式
    sudo yum install vim
    # Debian方式
    sudo apt-get install vim

一般软件安装有以上三种方法,但也些软件会提供安装程序,那样直接运行软件的安装程序即可以安装。

除了源安装,其它的安装一般要手动解决依赖关系,这也是在Linux中安装软件的一大棘手问题。

###Linux基础 - 1的更多相关文章

  1. Linux基础练习题(二)

    Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...

  2. 大数据每日干货第四天(linux基础之一目录结构与常用命令)

           为了和qq空间同步,也写的第四天,前面几天明天会发布,本来打算把每天学的东西记录下来,通过朋友给的建议要发的话稍微系统化下,从大数据需要的linux基础,到离线数据分析包括hadoop. ...

  3. Linux课程实践一:Linux基础实践(SSH)

    一.SSH服务 1. 安装SSH (1)查看是否已经安装过ssh服务 rpm -qa |grep ssh (2)进行安装 sudo apt-get install openssh-server Ubu ...

  4. 还是不想改报告,伊阿忆啊哟-Linux基础继续

    hi 虽然今天是最最美好的周六(前不着工作日后不着工作日),但老子还要来改报告,但额就是不想改,你拿我有啥办法啊... 争取完结Linux基础 一.Linux常用命令(三) 4.帮助命令 4.1 帮助 ...

  5. 原来今天是感恩节-Linux基础继续&MySQL和PHP

    hi 原来今天是感恩节.虽然一直没有过这个节日的习惯,但仅仅是听到感恩的消息,都能想到一幅幅画面.愿大家安好! 下午开题会议还是有所收获,悄悄的,就变向那个不喜欢自己的人了. 一.Linux基础(二) ...

  6. 买错的电影票,含着泪也得看-LAMP搭建&Linux基础

    hi 没说过,上周五室友过生请客,在龙湖里吃嗨了喝爽了,回去的路上侃侃而谈.说好的这周一起去看年内最后的大片,火星救援的,谁知道老子眼神不好,买错了电影的时间...把周六的约定提前到了今儿个下午,ma ...

  7. Linux基础3(文件权限)

    文件权限 1.普通权限 (登陆用户对文件或目录的读写执行的权限) 普通权限对管理员用户无效 文件和目录 都有4中类型的用户u 所有者 : 文件.目录的创建者g 所属组 : 文件.目录属于的用户组o 其 ...

  8. Linux课程实践一:Linux基础实践(基础操作)

    一.软件源维护 1. 基本操作 (1)查看源列表 sudo vim /etc/apt/sources.list deb:二进制软件安装包 deb-src:源码包 (2)备份软件源列表 sudo cp ...

  9. 实践一:Linux基础实践

    一.Linux基础实践 1.1 1. 掌握软件源的维护方法,配置系统使用软件源镜像.掌握通过软件源来查找,安装,卸载,更新软件的方法. 这部分内容在许多学长学姐的报告里都有很详细的讲解,我在此就不赘述 ...

  10. Linux基础精华

    Linux基础精华 (继续跟新中...) 常用命令: Linux shell 环境 让你提升命令行效 率的 Bash 快捷键 [完整版] 设置你自己的liux alias Linux的Find使用 L ...

随机推荐

  1. TreeView节点

    TreeView由节点构成,建树通过对TreeView.items属性进行操作.Items是一个TTreeNodes对象,这是一个TTreeNode集. 一.针对TTreeNodes,也就是 Tree ...

  2. hdoj 1213 How Many Tables

    How Many Tables Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  3. 新浪新闻API接口

    头条 http://api.sina.cn/sinago/list.json?channel=news_toutiao推荐 http://api.sina.cn/sinago/list.json?ch ...

  4. [iOS基础控件 - 3.1] QQ登陆界面

      A.storyboard 控件版 1.label 2.textfield      a.Keyboard Type           账号:Number Pad           密码:Num ...

  5. [OC Foundation框架 - 14] NSNull

    在NSDictionary中,nil代表结束,允许存入 使用NSNull代替   int main(int argc, const char * argv[]) { @autoreleasepool ...

  6. 转载ASP.NET 状态管理Application,Session,Cookie和ViewState用法

    转载原地址 http://www.cnblogs.com/cuishao1985/archive/2009/09/24/1573403.html ASP.NET状态管理 APPlication,Ses ...

  7. C++学习笔记(一):头文件和源文件

    说明: 当一个源文件(a.cpp)要调用另一个源文件(b.cpp)定义的方法时,需要在a.cpp中写上这个方法的声明(只需要该方法的名称.返回值和参数,类似Java的接口): 如果每次调用其他文件的方 ...

  8. AS问题解决系列1—Unable to execute DX错误

    http://my.oschina.net/1pei/blog/478968 摘要 在将一个开源Android代码import到Android Studio 1.2.2中时,解决了编译期间出现的“Un ...

  9. 【源码分享】iOS-OC版五子棋

    五子棋是程序猿比较熟悉的一款小游戏,相信很多人大学时期就用多种语言写过五子棋小游戏,笔者工作闲暇之余,试着用OC实现了一下,在这里给大家分享一下.有不足之处,欢迎大家提供建议和指点! GitHub源码 ...

  10. iOS开发——图形编程Swift篇&CAShapeLayer实现圆形图片加载动画

    CAShapeLayer实现圆形图片加载动画 几个星期之前,Michael Villar在Motion试验中创建一个非常有趣的加载动画. 下面的GIF图片展示这个加载动画,它将一个圆形进度指示器和圆形 ...