Linux学习笔记0——Linux命令

1、当前主流操作系统及其特点

当前主流的操作系统:Windows、Android、IOS、Symbian(塞班,用于诺基亚)、Linux/Unix。
Windows:傻瓜式、好学习。
Linux:Linux认为每一个用户都是专业人士,操作麻烦,学习困难。优点:免费、开源,性能好,可移植性好,设计理念优秀。
Android:移动操作系统,基于Linux,主要用于移动设备,如手机、平板等。
IOS:另辟蹊径,很优秀,创造性,走钢丝。
嵌入式操作系统:Linux + WinCE
当前:消费电子用Android,工业用Linux

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

开发嵌入式程序,需要Linux环境。但是因为Windows中有许多很好用的软件,如notepad++、sourceInsight等,所以也需要Windows。
即既需要Windows,又需要Linux。实现方式有以下三种:

  • 第一种:双系统,非常不方便,现在很少有人用。

  • 第二种:虚拟机,方便,损失性能(损失程度很小,可忽略不计),与真机有微小差异。

  • 第三种:两台电脑,不方便。例如信息交互等。

现实中:
个人开发者:虚拟机
大公司:(两台电脑)服务器+客户端

3、搭建开发环境

涉及到两个东西:虚拟机软件和Linux系统

虚拟机软件:就是一个单纯的在Windows中运行的软件,现在流行的虚拟机软件有VMware和VirtualBox。

虚拟机软件在Windows系统中运行,运行后它会模拟出来一个电脑,所以叫虚拟机。然后可以在该虚拟机上安装别的任意的操作系统。

4、隐藏文件

Windows:文件隐藏通过设置文件属性,右键属性,勾选隐藏选项来设置隐藏文件。在Windows中查看隐藏文件方法:菜单栏工具—>文件夹选项查看—>显示所有文件和文件夹。

Linux:Linux中的隐藏文件特点是文件名以.开头,跟文件属性无关。在Linux中查看隐藏文件用ls -a命令。(普通显示用ls命令)。a就是(all,显示所有文件)。

5、相对路径和绝对路径

路径(pathname):路径用来标识一个文件在操作系统的文件系统中的存储位置。
举例:
F:\IAR\ActivationInfo.txt 全路径 pathname
F:\IAR 路径 path
ActivationInfo.txt 文件名 name

绝对路径:路径是从绝对位置开始的。譬如Windows中从某一个盘符开始(F:\),Linux中从根目录/开始。

相对路径:指明路径的时候,是从当前所在的位置开始的。(使用相对路径,可移植性好)

举例:需求:当前在123.txt,但是要去abc.txt
F:\IAR\123\123.txt
F:\IAR\abc\abc.txt

方式一:采用绝对路径,F:\IAR\abc\abc.txt。
方式二:采用相对路径,…/abc/abc.txt。从当前路径开始,往上走一层,再往下走一层(到abc),然后就到了。(…代表回到上一目录)

注意:Windows是反斜线\,Linux是正斜线/。
测试:
/abc/abc.txt 是Linux绝对路径
abc/abc.txt 不是Linux绝对路径
F:\ abc\abc.txt 是Windows绝对路径
abc\abc.txt 不是Windows绝对路径

6、Linux内核和发行版

Linux本身指的是一个操作系统内核,只有内核是无法直接使用的。我们需要的可以使用的操作系统是包含了内核和一批有用的应用程序的一个集合体,这个就叫Linux发行版。

Ubuntu、Redhat等就是Linux的不同的发行版。

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

GUI:grahics user interface,图形用户界面。

cmdline: command line,命令行。

人机交互:人和机器(计算机)进行交互,常用的有命令行和GUI。
Windows下既有GUI,又有命令行。Linux中也是既有GUI,又有命令行。
但是,在Linux中常用命令行,在Windows中常用GUI。

8、Linux常用命令

ls(list,列表)
作用:使用列表把当前文件夹下所有文件显示出来
ls -a 显示所有文件,包括隐藏文件
ls -l 以详细信息显示
即显示所有文件,又显示所有文件的详细信息,以下四种方式都可以。
ls -a -l
ls -l -a
ls -al
ls -la

man
作用:查询man手册,获得帮助信息
man 1 ls 1表示查询的是Linux命令
man 2 xxx 2表示查询的是Linux api
man 3 xxx 3表示查询的是C库函数

cd(change directory,更改目录)
作用:用来切换目录
涉及到相对路径和绝对路径
cd . . 代表上一层目录
.代表当前目录

pwd(print work directory,打印工作目录)
作用:打印出当前的绝对路径

mkdir(make directory,创建文件夹)
作用:创建空文件夹
mkdir -p 级联创建文件夹

mv(move ,移动)
作用:在目录间移动文件,或修改文件名。
mv 源文件pathname 目标文件pathname

touch
作用:创建空文件
touch pathname

cp(copy,复制)
作用:复制文件或文件夹
cp 源文件pathname 目标文件pathname
cp -r 用来复制文件夹
cp -f 强制复制(建议复制都加上-f)
实际操作时,一般都是cp -f(复制文件),cp -rf(复制文件夹)。

rm(remove,删除)
作用:用来删除文件、文件夹
rm 文件pathname 删除文件
rm -r 文件夹pathname 删除文件夹
rm -rf 文件夹pathname 强制删除

cat
作用:直接在命令行下显示文件内容;也可以用来向文件输入。

rmdir(remove directory,删除文件夹)
作用:删除空文件夹
rmdir 文件夹pathname
rmdir和rm -r的区别:rmdir只能删除空文件夹,而rm –r可以删除空文件夹和非空文件夹。

ln(link,连接文件)
基础:Windows中快捷方式,实际上快捷方式和它指向的文件是独立的两个文件,两个都占硬盘空间,只不过用户访问快捷方式时,其效果等同于访问指向的文件。

Linux中有两种连接文件:
软连接(符号连接),等同于Windows中快捷方式:ln –s 源文件名 符号连接文件名。
举例:ln –s src.c linker.c ,linker.c就是src.c的一个符号连接文件。

硬连接:ln 源文件名 连接文件名
硬连接实际上和源文件在硬盘上是同一个东西,效果类似于硬盘上的一个文件,在文件系统上,在我们看来有好多个文件一样。每次删除一个文件时,只要它还有其他的硬连接存在,这个文件就不会被真正的删除。只有等到所有的连接文件都删除掉了,这个文件才会被真正的从硬盘上删除。

9、编辑器vi的使用(vi和vim的联系)

什么是编辑器?编辑器就是一款软件,它的主要作用就是用来编辑。譬如编写文件/代码等。
Windows中的常用编辑器,如自带的notepad。比较好用的notepad++,UltraEditor,SlickEditor。
Linux中的常用编辑器,自带的最古老的vi。比较好用的vim,gedit。
注意:vi和vim的关系,vim是vi的升级版,推荐使用vim。

Vi基础使用
使用vi来打开/创建一个文件,vi pathname

Vi的两种模式:命令模式、输入模式

  • 命令模式:当vi打开时默认为命令模式,要转入输入模式,需要按a或者i键。在命令模式下,此时键盘上输入的所有东西都被vi当做命令来对待。在命令模式下,最好不要乱输入,此时应该输入相应的命令,来让vi做相应的事情。

  • 输入模式:输入模式用来向文件输入内容。可以从命令模式中按a或者i键进入输入模式。进入输入模式后,就可以随意按键盘进行输入了。输入完成后,如果要保存,要先退回到命令模式(因为保存也是一种命令)。在输入模式下按ESC键退回到命令模式。
    注意:注意看屏幕左下角,当命令模式时无提示信息或者提示文件名等信息,等处于输入模式时,提示—INSERT—
    在命令模式下如何保存:
    :wq 保存退出
    :w 保存
    :q 不保存退出
    :q! 不保存强制退出
    :wq! 保存并强制退出

Vi的高级使用
查找: 在命令模式下,输入/xxx,就可以查找到xxx

快速切换行:在命令模式下,输入:num,就可以快速切换到num行

设置显示行号:在命令模式下,输入:set nu,就可以显示行号。(:set nonu,不显示行号)

设置永久显示行号:需要修改vi的配置文件。打开vi的配置文件~/.vimrc,在其中输入set nu

行删除:命令模式下,先将光标移到到要删除的行,然后输入dd
如果要删除连续多行,譬如要删除连续的3行,使用3dd

行复制黏贴:复制(nyy),黏贴(p),复制时把光标放到复制的首行,黏贴时实际黏贴到当前光标的所在行的下一行。

10、Linux中权限表示与管理

Windows中有普通用户和特权用户,特权用户是Administrator,普通用户可以有很多个。

特权用户是系统的管理员,对系统内所有文件具有操作权限。每个普通用户只能处理自己的文件,不能访问其他用户的文件,更不能随意处理操作系统的文件。

Linux中也有普通用户和特权用户的区别。特权用户就是root用户。普通用户权限受到限制,譬如说普通用户不能cd/root,普通用户不能使用apt-get install来安装软件。

可以使用su用户名来在不同用户间切换。譬如要从普通用户切换到root,可以su root,然后输入root的密码即可转入root用户。从root要切换到普通用户Amen,则su Amen。

11、使用sudo暂时获取root权限

这是Ubuntu的一个特点,在Ubuntu中可以使用sudo命令让普通用户暂时获取root用户的权限,而不必进行用户切换。

12、Linux中的文件类型标记方法

ls -l显示的详细信息中:
-rw-r–r-- (10个字符)
drexr-xr-x (10个字符)
一共10个字符,第一个字符表示文件类型,后面9个字符表示文件权限。

文件类型:
-表示普通文件。普通文件指文本文件和二进制文件,如a.c/a.txt/a.out都是普通文件。
d 表示文件夹,d是directory的缩写。
l 表示符号连接文件,后面会用打印出它指向的文件。
s 表示socket文件。
p 表示管道文件 pipe。

13、Linux高阶命令

apt-get
作用:在Ubuntu中用来在线安装、卸载软件的程序
apt-get install vim 下载
apt-get remove vim 卸载

注意:安装和卸载都是在线的,也就是说Ubuntu必须能上网才能使用apt-get
说明:apt-get安装软件的原理和必要性
Linux操作系统的发行版,内核版本,定制性,造成了Linux中软件的不兼容性。在Linux中安装软件是一件困难的事情,装了软件不一定能用。Ubuntu解决了这个问题,Ubuntu将适合某个发行版(Ubuntu10.04)的所有软件做了一个列表,然后用户通过apt-get install的方式安装软件,就会实时连接到Ubuntu服务器,服务器会根据你的Ubuntu版本,给你下载合适的软件来安装。这样就确保了软件的兼容性。

find
作用:在Linux文件系统中,用来查找一个文件放在哪里
Find /etc –name “interfaces”
总结:
1、什么时候用find?
当知道要找的文件名,但是忘记了它被放在哪个目录下,要找到该文件时,用find。
2、怎么用find?
Find 路径 –name “文件名”

grep
作用:在一个文本文件中,查找某个词
举例:grep -nr “SUN” *
总结:
1、什么时候用grep?
当想查找某个符号在哪些地方(文件/文件夹)出现时,用grep。
2、怎么用grep?
grep -nr “要查找的符号” 要查找的目录或文件集合
注意:-n 表示查找结果中显示行号,-r 表示要递归查找

which和whereis
作用:查找一个应用程序(二进制文件)在哪里
举例: which ls
whereis ls
区别: which只显示二进制文件的路径
whereis显示二进制文件的路径和其源码或man手册位置

uname
作用:查看系统信息
举例:uname -a

开机和关机
shutdown –h now 立即关机
init 0 关机
shutdown –r now 立即重启
reboot 重启

tree/lstree
作用:显示文件和目录由根目录开始的树形结构

mount/umount
作用:用来挂载磁盘到文件系统中
举例: mount –t nfs –o nolock 192.168.1.141:/root/rootfs /mnt 挂载(插U盘)
umount /mnt 卸载(拔U盘)

磁盘空间相关
df -h 显示已挂载的分区列表
du -h 列出文件或文件夹的大小
du –h 文件名,可以列出这个文件有多大,列出方式是以人比较好看懂的方式(Kb/M)。不像ls -l列出的都是以字节为单位。

用户管理
useradd user1 添加一个名为user1的用户
userdel user1 删除一个名为user1的用户
passwd user1 为名为user1的用户设置密码

权限管理
作用:用来管理系统中文件的权限
chmod(change mode,修改文件权限),比较常用!
chown(change owner,修改属主)
chgrp(change group,修改文件的组)
解析ls –l 列出的属性:-rwxr-xr-x
一个10个字符,第一个表示文件属性(d表示文件夹,-表示普通文件),剩下的9个分成三组。每组中三个分别表示r(可读),w(可写),x(可执行)。如果是字母表示有这个权限,如果是-表示没有这个权限。三组分别表示:第一组表示文件属主的权限,第二组表示属主所在的组用户的权限,第三组表示其他用户的权限。

权限还有另一种表示方法,用数字来表示。编码规则如下:
r 可读 4
w 可写 2
x 可执行 1
- 无权限 0
有了这个编码规则,则-rwxr-xr-x 编码后为755.

第一种修改权限的方法:
把权限改成-rwxr–r-- 则对应的编码值为744.
修改命令为chmod 744 文件名

第二种修改权限的方法:
在原来的权限基础上进行修改,即增加或减少某权限。
三个组用户的编码依次为:属主u,属主所在的组g,其他用户o
如:要属主增加可执行权限 chmod u+x 文件名
其他用户增加可写权限 chmod o+w 文件名
属主所在组用户去掉可执行权限 chmod g-x 文件名

文件打包压缩与解压缩
tar –czvf dir.tar.gz dir/ 将dir目录打包成dir.tar.gz
tar –cjvf dir.tar.bz2 dir/ 将dir目录打包成dir.tar.bz2
tar –zxvf dir.tar.gz 解压缩dir.tar.gz
tar –jxvf dir.tar.bz2 解压缩dir.tar.bz2

sed和awk
正则表达式。匹配加替换。

格式化文件系统
mkfs /dev/hd1
mkfs -t vfat 32 –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地址和子网掩码

搭建tftp服务器

搭建nfs服务器

14、虚拟机Ubuntu上网的问题

Vmware中虚拟机网络的三种设置
1.桥接(bridged)
2.NAT
3.Host only,该模式下仅主机能上网,虚拟机不能上网

虚拟机上网方式:NAT
设置步骤:
1.在菜单栏 虚拟机—>设置硬件网络适配器,右侧选择NAT模式
2.Vi /etc/network/interfaces,打开该文件,将内容编辑成为:
Auto lo
Iface lo inet loopback

Auto eth0
Iface eth0 inet dhcp
3.执行/etc/init.d/networking restart 重启网卡

虚拟机上网方式:桥接方式
设置步骤:
1.桥接。在菜单栏 虚拟机—>设置硬件网络适配器,右侧选择桥接模式
2.桥接到可以上网的网卡。在菜单栏 编辑虚拟网络编辑器,选择桥接到自己Windows中可以上网的网卡上(一般就是WiFi网络或者有线网络)
3.设置dhcp并重启网卡
4.Vi /etc/network/interfaces,打开该文件,将内容编辑成为:
Auto lo
Iface lo inet loopback

Auto eth0
Iface eth0 inet dhcp
4.执行/etc/init.d/networking restart 重启网卡
总结:NAT方式设置上网比较简单,但是不能用在嵌入式开发中,因为它隐藏在真机内。
桥接方式设置上网较繁琐,但是在嵌入式开发中较有用,因为它独立于真机。

补充
使用技巧:
1.使用shell的Tab键自动补全
Tab在Linux命令行输入中可以自动完成。使用Tab键会极大提高输入效率。

2.使用shell的历史记录
Shell会记录用户执行命令的历史记录,而我们一般使用命令都会在短时间内集中反复使用,因此当需要使用一条刚才使用过的命令时,不需要再次花时间输入,只要按下键盘上下箭头按键,就可以实现上下翻页,翻出刚才使用过的命令,直接回车执行。就好像电话机的通话记录和快速回拨一样。

3.Linux命令行中一些符号的含义:
. 代表当前目录
… 代表上一层目录,当前目录的父目录
— 代表前一个目录,刚才从哪个目录cd过来的
~ 代表当前用户的宿主目录
/ 代表根目录
$ 普通用户的命令行提示符

root用户的命令行提示符

万能匹配符 *

宿主目录:所谓宿主目录,就是操作系统为当前用户所设计的用来存放文件、工作的默认目录。如Windows中的“我的文档”目录,就是Windows为我们设计的宿主目录。

Linux中每个用户都有自己的宿主目录,这个目录对于普通用户来说,在/home/username/,而对于root用户来说,在/root。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值