Linux的一些基础知识

操作系统的基本概念:windows Linux  andriod  ios symbian unix/linux(其实C语言就是为了写Linux而产生的) 

win:傻瓜式,好学习,工资低

Linux:操作麻烦,学习难,免费,开源,性能好,可移植性好

Andriod:移到操作系统,基于Linux

ios:很优秀,创造性,走钢丝

嵌入式操作系统:Linux+winCE

当前:消费电子Andriod,工业Linux


多机开发:双系统与虚拟机

开发嵌入式系统需要Linux系统,但是win下有很多好用的软件,比如notepad  sourceInsight

所以也需要win,在即需要win又需要Linux的时候可以

1)使用双系统 不方便,使用不需要频繁切换操作系统的情况

2)使用虚拟机 方便,损失性能

3)两台电脑  不方便

现实中:1 个人开发者  虚拟机

       2 公司  服务器+客户端

搭建开发环境:

虚拟机软件+Linux系统

虚拟机软件:就是一个单纯的在win中运行的软件,现在主要就是vmware和vitualBox,

它运行后模拟出来一个电脑,可以在其中安装任何系统


虚拟机上网:

网络连接3种模式

1)桥接模式(bridge)

  菜单->设置->网络->桥接模式

  菜单->编辑->虚拟网络编辑器->桥接到(wireless无线网卡 realleak..有线网卡)要根据实体机来选择

  设置dhcp并重启网卡(同下vi编辑的内容,要保证inet是dhcp)  /etc/init.d/networking  restart

2)NAT模式:菜单->设置->网络->NAT模式

   vi /etc/network/interface

  
  
  1. auto lo
  2. iface lo inet loopback
  3. auto eth0
  4. iface eth0 inet dhcp
  5. address 192.168.1.141
  6. netmask 255.255.255.0
  7. gateway 192.168.1.1

   然后重启网卡 /etc/init.d/networking  restart

   可以通过ping命令测试网络是否通了


3)host only独立主机,不能实现虚拟机上网,仅主机可以上网


nat连接比较简单,但是虚拟机和主机不在同一网段,虚拟机相当于真机的一个软件,不能做嵌入式开发

bridge连接稍复杂,但是虚拟机和本机在统一网段,相当于是这个网络里的另一台主机,可以做嵌入式开发

隐藏与非隐藏文件:

win下的文件隐藏与不隐藏是通过设置文件属性来实现的,右键->属性->设置隐藏属性

在win中显示隐藏属性的文件或者文件夹:工具->文件夹选项->查看->显示所有

Linux下,以.开头的文件是隐藏文件,跟文件属性无关

要查看隐藏文件,使用ls -a


Linux中一些符号的含义:

. 代表当前目录

.. 代表上级目录

- 代表前一个目录,你进入当前目录的目录

/ 代表根目录

~ 代表用户的家目录,普通用户的在/home/uname下 root用户的在 /root下

$ 普通用户的命令提示符

# root用户的命令提示符

* 万能通配符


文件类型的标记:(ls -l 显示的详细信息解析:)

-rw-r--r--   2 nj  staff    10B  2  4 19:20 a.txt

第一个字段共10个字符  第一个表示文件类型,后边9个表示文件权限

文件类型 -表示普通文件,包括二进制文件和文本文件

        d表示目录文件

        l表示符号链接文件  ln -s创建的文件 ln创建的硬连接文件是-普通文件

        s表示一个socket文件

        p表示管道文件

       


1 相对路径和绝对路径

路径:用来标识资源在文件系统中的存储位置

全路径:/user/uname/www/test.php  (pathname)

路径:/user/uname/www  (path)

文件名:test.php  (filename)


绝对路径:从绝对路径开始的,/user/uname/www/test.php

相对路径:从当前位置开始的路径,比如当前在 /user/uname/www/test2.php 那test.php 就是在./test.php

win下的绝对路径是从盘符开始的,Linux下的绝对路径是从根 / 开始的


2 常用命令:

ls(list,显示文件列表)

ls -a 显示所有文件,包括隐藏文件

ls -l 显示文件详细信息

ls -lah 显示所有文件,及详细信息,用比较合适的单位


cd (change directory):切换所在目录

. 代表当前目录  ..代表上级目录


pwd:打印当前所在路径

mkdir:创建一个空的文件夹

mkdir -p:创建多级文件夹

mv:移到文件,可以同时重命名

mv srcpathname dstpathname

cp复制文件

cp srcpathname dstpathname

cp -r 复制文件夹

cp -f 强制复制


ln (link):建立一个软连接

win下的快捷方式,两个都占有硬盘空间,是两个独立空间

Linux中有2种连接方式,一种叫软连接(符号连接),效果等同于win下的快捷方式,但不是一回事儿

建立软连接:ln -s src dst 建立出来的文件属性是l  ,比如 ln -s a.txt b.txt

lrwxr-xr-x   1 nj  staff    13B  2  4 19:13 a.txt -> b.txt

一种叫硬链接,硬链接的源文件被删除,不会影响目标文件,但不同于copy,copy是两个独立的文件

硬链接是同一个文件,修改就会改变所有的基于同一个文件的连接

创建 ln a.txt b.txt


文件权限:

剩下的9个可以分成3组

前3个表示文件的所有者对文件的权限

中间3个表示所有者所在组的文件权限

最后3个表示其它用户对于该文件的权限

r(read)可读

w(write)可写

x(execute)可执行

eg:rwx表示可读可写可执行  r-x表示可读可执行不可写


rm(remove去除,删除):用来删除文件或者文件夹

rm 文件 :删除文件

rm -r 文件夹 :删除文件夹

rm -rf 文件/文件夹 :强制删除文件或文件夹(与不加-f的返回值不同,加上-f文件不存在会返回成功,不加会返回失败)


cat:直接在命令行显示文件内容,也可以向文件输入内容

cat a.txt > b.txt  直接覆盖

cat a.txt >> b.txt 追加


rmdir:删除一个空的文件夹


man 1 ls : man 1 表示查看命令的使用

man 2 .. : man 2 表示查看Linux的api

man 3 .. : man 3 表示查询的是C的函数

不记得1 2 3表示什么时,直接man ...也可以


find:查找文件所在地方

1)什么时候用?知道要查找的文件名,不记得文件路径时

2)怎么使用?find /etc -name test

3)完全不知道在哪个目录时,把目录指定为根  find / -name test


grep 查找文件内容

grep char -nr dir 在dir中递归查找char字符,并显示出该字符出现的行号

which和whereis

which查找应用程序,只显示二进制文件

whereis显示二进制文件的路径 源码或man手册的位置

 

sudo:暂时获得root用户的权限,不用进行用户的切换


文件的打包与压缩:

tar -cxvf dir.tar.gz dir/  将dir目录打包成dir.tar.gz

tar -cjvf dir.tar.bz2 dir/ 将目录打包成dir.tar.bz2

tar -zxvf dir.tar.gz 将压缩包解压

tar -jxvf dir.tar.bz2 将压缩包解压


格式化文件系统

mkfs /dev/hd1

mkfs -t vfat -F /dev/hd1 创建一个FAT32文件系统


网络配置命令

ifconfig eth0 192.168.1.13  设置ip地址

ifconfig eth0 up  启用网卡

ifconfig eth0 down  禁用网卡

ifup eth0  启用网卡

ifdown eth0  禁用网卡

ifconfig eth0 192.168.1.1 netmask 255.255.255.0 同时设置ip和子网掩码


mount/umount实现文件的挂载

eg:mount -t nfs -o nolock 192.168.15.130:/home/nj/www /mnt

将服务器目录/home/nj/www挂载到本地 /mnt

umount /mnt 卸载挂载目录


df:显示磁盘空间信息 df -h

du:显示文件及其大小  


搭建tftp和nfs服务器,用到的时候再具体查,用的不多


sed | awk

实现正则匹配+替换


vi和vim的关系:

编辑器?就以一个用来编辑文件的软件,win下自带的是notepad,常用的有notepad++,sublime...

Linux下自带的是vi,常用的vim,gedit等

vim就是vi的升级版,推荐使用vim


3 vi的两种工作模式:

1)命令行模式:输入相应的命令去做对应的事 :wq退出 :q!不保存退出 :w保存不退出 :q退出

2)输入模式:就是正常的编辑文件,输入模式按esc键回到命令模式,命令模式按v切换到视图模式

3)视图模式:方便多行操作



4 vi的高级使用

查找: /var  (command模式)

快速切换行: :line (command模式)

设置显示行: :set nu (command模式)

不显示行: :set nonu (command模式)

行删除: dd (command模式)

行复制和粘贴: yy p(多行复制和粘贴 visual模式)


4 Linux的系统版本:

Linux本身指的是操作系统的核心部分,也就是Linux内核

ubutun  centos等Linux的发行版指的Linux内核+特定的软件


5 GUI(图形用户界面)和cmdline(命令行)

GUI:graphics user interface 图形用户界面

cmdline:command line命令行

人机交互:人和计算机进行交互

win和Linux都会同时有GUI和命令行,但win下常用GUI,Linux下常用命令行


用户管理

useradd test 添加用户test

userdel test 删除用户test

passwd test 修改passwd的秘密

可以使用su 用户名 切换不同用户


uname查找系统信息

uname -a显示所有信息


chmod 修改文件权限

chown 修改文件所有者

chgrp 修改文件所属组

eg:在原来权限的基础上修改,即增加或减少某权限

chmod u+x 文件名 给属主用户增加可执行权限

chmod u-x 文件名 减掉可执行权限


apt-get Ubuntu中在线安装或者卸载软件的工具

apt-get install 软件名 安装软件

linux 发行版本比较多,软件在个版本中兼容性不是特别好

使用apt-get解决了不兼容问题,它是实时连接到ubutun服务器去下载软件


开关机

shutdown -h now 立即关机

init 0 关机

shutdown -r now 立即重启

reboot 重启








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值