###Linux基础 - 1
点击查看Evernote原文。
#@author: gr
#@date: 2014-10-11
#@email: forgerui@gmail.com
前言
- 为什么学习Linux?
:-)
酷Cool
了解系统的底层,而不是界面
工作需求- 这次学习的目标
基本会使用Linux
熟悉Linux开发环境
在Linux下开发程序- 我自己也不是很懂,大家一起共同讨论学习。讲的内容也不是很全,只是一些基础知识,大家如果希望使用好Linux,还要自己多去研究探索。关键就是多练多用多解决问题。
- 推荐图书《鸟哥的私房菜-基础篇》,如果想了解Shell编程的话,可以看《Linux Shell脚本攻略》。更高级的书《深入理解LINUX内核》,《UNIX环境高级编程》。
一、Linux文件系统结构
了解Linux目录结构,及各个目录存放的内容
和
Windows
进行C盘、D盘分盘不同,Linux的文件系统是以树进行组织的。如图,是根目录/
下的文件。
/
: 根目录,所有文件的最高目录
/bin
: 存放常用命令
/dev
: 存放设备文件
/etc
: 存放配置文件
/home
: 用户工作目录
/lib
: 存放共享链接库
/root
: 超级用户的工作目录
/sbin
: 系统管理员的程序
/tmp
: 存放临时文件
/usr
: 存放用户程序的目录
/proc
: 操作系统的实时信息
/var
: 存放系统的日志文件了解文件的权限
文件的权限有r
,w
,x
,代表的数值分别为4,2,1;
例:如果权限是5,5=4+1;6=4+2;7=4+2+1;
文件的权限管理。文件有三种权限,分别是该文件的所属用户,与所属用户同组的用户,其他用户。分别表示为u
,g
,o
。
二、Linux基础命令
ls
(list): 列出目录下的所有文件
# 显示/home目录下的文件
ls /home/
# 显示所有文件,包括隐藏文件(前面有.)
ls -a
# 显示详细信息
ls -l
# 按修改时间排序
ls -ccd
(change directory): 改变当前目录
路径有绝对路径和相对路径。
绝对路径是从根目录/
开始的。
相对路径是相对当前工作目录的路径,使用相对路径,可以更简单方便。
# 返回到上一层目录。 ../ 表示上一层
cd ../
# 进入当前目录的Documents子目录下,不必要敲全路径
cd Documents/mkdir
(make directory): 新建一个目录# 在当前目录下新建一个叫workspace的目录
mkdir workspace
mkdir -p /home/gr/t/t1
rm
(remove): 删除文件或目录
# 删除/home下的test文件
rm /home/test
# 删除t/文件夹
rm -rf t
注意: 如果不清楚命令的话,慎用rm
。mv
(move): 移动文件或目录
mv test /home/
# 进行重命名
mv test test1cp
(copy): 拷贝文件或目录
cp test /home/
# 拷贝目录
cp -r t /home/pwd
: 显示当前目录sudo
: 以超级管理员的权限运行,su
命令
# 以超级管理员的权限执行后面的拷贝命令
sudo cp -r t /home
# 切换到tmp用户
su tmpchmod
: 改变文件权限
上面讲到文件的权限有三组。-
代表无权限。如下:
文件描述一共有10个字符表示,第一个代表文件类型,以后3组分别为文件所有者的读、写和执行权限;与所有者同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。
# 使文件的权限都变成可读可写可执行
chmod 777 test
# 使用/home文件下所有文件都变为可读可写可执行,包括子目录
chmod -R 777 /home/
# 文件的所有者添加可执行权限
chmod u+x test
# 所有用户都添加可读权限
chmod a+r test
# 其他用户去掉可写权限
chmod o-w test注意:权限管理在Linux中很重要,一些问题可能就是因为没有权限导致的。
ifconfig
: 查看ip地址
三、 软件安装
最基本的是使用源码进行编译安装。
首先下载程序的源代码,一般编译安装有三个步骤,分别是配置,编译,安装。如下:
./configure
make
sudo make install
当然,也有一些软件使用Cmake进行管理,这时命令稍微有些区别。
mkdir release
cd release
cmake ../
make install使用别人打包好的软件包进行安装。不同的发行版本有不同的软件包管理方式。以
Redhat
阵容的软件管理使用rpm
工具,以Debian
阵容的软件管理采用dpkg
。
# 安装rpm包
rpm -ivh tftp.rpm
# 安装deb包
dpkg -i tftp.deb当有网络时,可以用软件源进行安装。分别使用更高级的
yum
和apt-get
更方便。它们会为你自动解决依赖问题,安装需要的软件。# Redhat方式
sudo yum install vim
# Debian方式
sudo apt-get install vim
一般软件安装有以上三种方法,但也些软件会提供安装程序,那样直接运行软件的安装程序即可以安装。
除了源安装,其它的安装一般要手动解决依赖关系,这也是在Linux中安装软件的一大棘手问题。
###Linux基础 - 1的更多相关文章
- Linux基础练习题(二)
Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...
- 大数据每日干货第四天(linux基础之一目录结构与常用命令)
为了和qq空间同步,也写的第四天,前面几天明天会发布,本来打算把每天学的东西记录下来,通过朋友给的建议要发的话稍微系统化下,从大数据需要的linux基础,到离线数据分析包括hadoop. ...
- Linux课程实践一:Linux基础实践(SSH)
一.SSH服务 1. 安装SSH (1)查看是否已经安装过ssh服务 rpm -qa |grep ssh (2)进行安装 sudo apt-get install openssh-server Ubu ...
- 还是不想改报告,伊阿忆啊哟-Linux基础继续
hi 虽然今天是最最美好的周六(前不着工作日后不着工作日),但老子还要来改报告,但额就是不想改,你拿我有啥办法啊... 争取完结Linux基础 一.Linux常用命令(三) 4.帮助命令 4.1 帮助 ...
- 原来今天是感恩节-Linux基础继续&MySQL和PHP
hi 原来今天是感恩节.虽然一直没有过这个节日的习惯,但仅仅是听到感恩的消息,都能想到一幅幅画面.愿大家安好! 下午开题会议还是有所收获,悄悄的,就变向那个不喜欢自己的人了. 一.Linux基础(二) ...
- 买错的电影票,含着泪也得看-LAMP搭建&Linux基础
hi 没说过,上周五室友过生请客,在龙湖里吃嗨了喝爽了,回去的路上侃侃而谈.说好的这周一起去看年内最后的大片,火星救援的,谁知道老子眼神不好,买错了电影的时间...把周六的约定提前到了今儿个下午,ma ...
- Linux基础3(文件权限)
文件权限 1.普通权限 (登陆用户对文件或目录的读写执行的权限) 普通权限对管理员用户无效 文件和目录 都有4中类型的用户u 所有者 : 文件.目录的创建者g 所属组 : 文件.目录属于的用户组o 其 ...
- Linux课程实践一:Linux基础实践(基础操作)
一.软件源维护 1. 基本操作 (1)查看源列表 sudo vim /etc/apt/sources.list deb:二进制软件安装包 deb-src:源码包 (2)备份软件源列表 sudo cp ...
- 实践一:Linux基础实践
一.Linux基础实践 1.1 1. 掌握软件源的维护方法,配置系统使用软件源镜像.掌握通过软件源来查找,安装,卸载,更新软件的方法. 这部分内容在许多学长学姐的报告里都有很详细的讲解,我在此就不赘述 ...
- Linux基础精华
Linux基础精华 (继续跟新中...) 常用命令: Linux shell 环境 让你提升命令行效 率的 Bash 快捷键 [完整版] 设置你自己的liux alias Linux的Find使用 L ...
随机推荐
- Thinking in java——Generics
Ordinary classes and methods work with specific types: either primitives or class types. If you are ...
- IE6完美解决fixed方法
ie6对position:fixed不支持,网上有很多解决方法,有的在ie6,ie7上调试成功后,在ie8上又不好使,div层还是跟随滚动条浮 动:以下总结方法,在ie6,ie7,ie8上都调试成功, ...
- HDU2177:取(2堆)石子游戏(威佐夫博弈)
Problem Description 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可以在两堆中同时取走相同 ...
- R语言-Knitr包的详细使用说明
R语言-Knitr包的详细使用说明 by 扬眉剑 来自数盟[总舵] 群:321311420 1.相关资料 1:自动化报告-谢益辉 https://github.com/yihui/r-ninja/bl ...
- MySQL 约束
MySQL中约束保存在information_schema数据库的table_constraints中,可以通过该表查询约束信息: 约束主要完成对数据的检验,保证数据库数据的完整性:如果有相互依赖数据 ...
- 菜单设计器(Menu Designer)及其B/S,C/S双重实现(B/S开源)
ERP/MIS开发 菜单设计器(Menu Designer)及其B/S,C/S双重实现(B/S开源) 一直从事ERP/MIS的开发工作,今天来展现一下菜单设计器的设计,及其用途,并对B/S部分代码 ...
- IOS开发之 ---- 苹果系统代码汉字转拼音
NSString *hanziText = @"我是中国人"; if ([hanziText length]) { NSMutableString *ms = [[ ...
- XMPP——Smack[2]会话、消息监听、字体表情和聊天窗口控制
连接之后,拿到了connection,通过它可以搞定会话 建立一个会话 MessageListener msgListener = new MessageListener() { public voi ...
- Session笔记
一.Session机制 session机制採用的是在server端保持 HTTP 状态信息的方案 . server使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息. 当程序须要为某个cli ...
- 关于自定义adapter使用getApplicationContext()影响主题
最近弄了一个东西,listview+switch构成界面 关于android自定义adapter,继承自baseadapter,发现界面的switch开关主题变了想要的是浅色的主题,但是却发现变成了深 ...