(1)ls (list,列表) 作用:使用列表把当前文件下所有文件显示出来
ls -a 显示所有文件包括隐藏文件
ls -l 以详细信息显示
ls -a -l
ls -l -a
ls -al
ls -la 一样
(2)cd (change directory) 作用:用来切换目录(涉及相对路径与绝对路径)
cd . 当前目录
.. 上一级目录
cd ../..返回上上一级目录
(3)pwd(print work directory,打印工作目录) 作用:打印当前绝对路径
(4)mkdir (make directory,创建文件夹) 作用:创建文件夹
mkdir -p 级联创建文件夹
(5)mv (move) 作用:在目录间移动文件,修改文件名
mv 源文件pathname 目的文件pathname
(6)touch 作用:创建空文件
touch pathname
(7)cp (copy) 作用:复制文件或文件夹
cp 源文件pathname 目标文件pathname
cp -r 用来复制文件夹
cp -f 强制复制
实际操作时,一般都是 cp -f 复制文件
cp -rf 复制文件夹
(8)rm (remove) 作用:用来删除文件,文件夹
rm 文件pathname 加-f就是强制删除,当没有文件时,删除,使用rm 会显示没有该文件,但是加上-f不会出现这种提示。
rm -r 文件夹pathname
(9)cat 作用:直接在命令行下显示文件内容,也可以用来向文件输入
(10)rmdir (remove directory) 作用:删除空文件夹
rmdir与rm -r 区别:rmdir只能删除空文件夹,rm -r可以删除空文件夹和非空文件夹
(11)ln (link,连接文件) 作用:
Linux中有两种连接文件:
一种叫软连接(符号连接),等同于Windows中的快捷方式
一种叫硬连接
创建软连接文件: ln -s 源文件名 符号连接文件名
举例 : ln -s src.c linker.c linker.c就是src.c的一个符号连接文件
硬链接: ln 源文件名 符号文件名
硬链接实际上和源文件在硬盘中是同一个东西,效果类似于硬盘上的一个文件,在文件系统上,在我们看来
有好多个文件一样。每次删除一个文件时,只要他还有其他硬连接存在,这个文件就不会被真正删除。
只有等其他连接都删除掉了,这个问价才真正从硬盘上删除。
(12)man 查询man手册,获得帮助信息
man 1 xxx 1表示查询的是Linux命令
man 2 xxx 2表示查询的是Linux api
man 3 xxx 3表示查询的是C库函数
(13)apt-get 作用:在Ubuntu中用来在线安装、卸载软件的程序
例如:apt-get install vim
apt-get remove vim
注意:安装和卸载都是在线的,也就是说Ubuntu必须能上网才能使用apt-get
(13)编辑器vi的使用(vi和vim的使用)
Linux常用编辑器,自带的最古老的vi。比较好用的vim,gedit。
注:vi和vim的关系,vim是vi的升级版
1、vi的基础使用:
使用vi来打开/创建一个文件,vi pathname
vi的两种模式:
命令模式:当vi打开时默认为命令格式,要转入输入模式,需要按a或者i键。在命令模式下,此时键盘上输入的所有东西都被vi当做命令来对待
在命令模式下,最好不要乱输入。此时应该输入相应的命令,来让vi做相应的事
输入模式:输入模式用来向文件输入内容,可以从命令模式按a或i进入输入模式。进入输入模式后,就可以随意按键盘进行输入。输入完成后如果要保存,要先退回到命令模式(因为保存也是一种命令)。在输入模式下按ESC键退回到命令模式。
注:注意看屏幕左下角,当命令模式时无提示信息或者提示文件名等信息,等处于输入模式时,提示--INSERT--
在命令模式下如何保存:
:wq 保存并退出
:w 只保存不退出
:q 不保存退出 进来看了一下没改退出了
:q! 不保存强制退出
:wq! 保存并强制退出
2、vi的高级使用
*查找
在命令模式下,输入/xxx。就可以查找到xxx
*快速切换行
在命令模式下,输入:num,就可以切快速切换到num行
*设置显示行号
在命令模式下,输入:set -num,就可以显示行号
注:设置不显示行号,命令下输入:set nonu
设置永久显示行号,需要修改vi的配置文件。打开vi的配置文件~/.vimrc,在其中输入set nu即可。
*行删除
命令模式下,先将光标移动到要删除的行,然后输入dd
如果要删除连续的多行 数字dd,如删除连续三行,使用3dd
*行复制粘贴
复制:命令模式下,nyy(n表示复制几行)
粘贴:命令模式下,p
细节:复制时要把光标放在多行的第一行,粘贴时实际粘贴到当前光标所在行的下一行
2、Linux中权限表示&管理
2.1 普通用户与特权用户 su命令切换用户
Windows中有普通用户和特权用户,特权用户是Administrator,普通用户可以有很多个。
特权用户是系统的管理员,对系统内所有文件具有操作权限,普通用户只能处理自己的文件,不能访问其他用户的文件,更不能随意处理操作系统的文件。
Linux中也有普通用户和特权用户的区别,特权用户就是root用户。普通用户权限受到限制。
可以使用su 用户名来在不同用户之间切换。
2.2 rwx与权限表示
ls -l 显示详细信息
drwxr-xr-x 一共10个字符,第一个字符表示文件类型,后面9个分成3组字符表示文件权限
前三个表示此文件的属主对文件权限
中间三个表示此文件属主所在组对文件的权限
最后三个表示其他用户对文件的权限
rwx解析 r:代表可读 w:代表可写 x:代表可执行
rwx 可读可写可执行
r-x 可读不可写可执行
r-- 可读不可写不可执行
2.3 使用sudo暂时获取root权限
这是Ubuntu的一个特点,在Ubuntu中可以使用sudo命令让普通用户暂时获取root用户权限,而不必进行用户切换。
Linux高阶命令
1、find
在Linux文件系统中,用来查找一个文件放在哪里了
find /etc -name "interface"
总结:
(1)什么时候用find?
当你知道你要找的文件名,但是你忘了它被放在哪个目录下,要找到该文件时,用find
(2)怎么用find
find 路径 -name "文件名"
find / -name "文件名" 全盘搜索
2、grep
功能:在一个文本文件中,查找某个词
举例:grep -nr "SUM"
总结:
(1)什么时候用grep?
当你想要查找某个符号在哪些地方,(有可能是一个文件,也有可能是多个文件组成的文件夹)出现过,就用grep
(2)怎么用
grep -nr "要查找的符号"
注意:-n表示查找结果中显示行号,-r表示递归查找
3、which和whereis
功能:查找一个应用程序(二进制文件)在哪里
举例:which ls whereis ls
区别
which只显示一个二进制文件的路径
whereis显示二进制文件的路径,和其源码或man手册位置
4、uname
功能:查看系统信息
举例:uname -a
uname -n
uname -r
5、开机和关机
shutdown -h now 立即关机
init 0 关机
shutdown -r now 立即重启
reboot 重启
poweroff
6、tree/lstree
功能:显示文件和目录由根目录开始的树形结构
7、mount/umount
功能:用来挂载磁盘到文件系统中
举例:mount -t nfs -o -nolock 192.168.1.141:/root/rootfs /mnt 挂载
umount mnt 卸载
8、磁盘空间相关
df -h 显示已挂载的分区列表
du -h 列出文件或文件夹的大小
du -h 文件名 可以列出这个文件有多大,列出方式是以人比较好看的方式。不像ls -l 列出的都是以字节为单位
9、用户管理
useradd user1 添加一个名为user1的用户
userdel user1 删除一个名为user1的用户
passwd user1 为名为user1的用户设置密码
10、权限管理
作用:用来管理系统中文件权限
chmod 修改文件权限 比较常用
chown 修改属主
chgrp 修改文件的组
chown 属主 文件名
权限另一种表示方法,用数字来表示
编码规则如下:
r 可读 4
w 可写 2
x 可执行 1
- 无权限 0
有了这个编码规则,则rwxr-xr-x 编码后755
第一种修改权限的方法:
要把权限改成 rwxr-xr-x 则对应的编码值为755
修改命令为:chmod 755 文件名
第二种修改权限的方法
在原来的权限基础上进行修改,即增加或减少某权限。
三个组用户的编号依次为:属主u 属主所在的组g 其他用户o
譬如要属主增加一个可执行文件 chmod u+x 文件名
属主所在组用户去掉可执行权限 chmod g-x 文件名
11、文件打包压缩和解压缩
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
12 sed和awk
正则表达式。匹配加替换
13、格式化文件系统
mkfs /dev/hdl
mkfs -t vfat 32 -F /dev/hal 创建一个FAT32文件系统
14、网络配置命令
ifconfig eth0 192.168.1.131 设置ip地址
ifconfig eth0 up 启动网卡
ifconfig eth0 down 禁用网卡
ifup eth0 启动网卡
ifdown eth0 禁用网卡
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 同时设置ip地址和子网掩码
虚拟机Ubuntu上网问题
2.1VMware中虚拟机网络的三种设置
第一种:桥接
第二种:NAT
第三种:Host only:该模式下仅主机可以上网,虚拟机不能上网
2.1 虚拟机上网方式1:NAT方式
第一步:在菜单栏 虚拟机 -> 设置 -> 硬件 -> 网路适配器,右侧选择NAT模式
第二步:vi /etc/network/interface,打开该文件,将内容编辑为:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
address 192.168.1.141
netmask 255.255.255.0
gateway 192.168.1.1
第三步:执行/etc/init.d/networking restart 重启网卡
2.2 虚拟机上网方式2:桥接方式
第一步:桥接 在菜单栏 虚拟机 -> 设置 -> 硬件 -> 网路适配器,右侧选择桥接模式
第二步:桥接到可以上网的网卡 在菜单栏 编辑 -> 虚拟网络编辑器 选择桥接到Windows中可以上网的网卡(一般就是WiFi网络或者有线网络)
第三步:设置dhcp并重启网卡
vi /etc/network/interface,打开该文件,将内容编辑为:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
address 192.168.1.141
netmask 255.255.255.0
gateway 192.168.1.1
保存退出,执行/etc/init.d/networking restart 重启网卡
总结:
第一,NAT方式设置上网比较简单,但是不能用在嵌入式开发中
第二,桥接方式设置上网比较频繁但是可以在嵌入式开发中比较有用
基础知识:
1、ls -l显示的详细信息中:
-rw-r--r--
drwxr-xr-x
一共10个字符,第一个字符表示文件类型,后面9个分成3组字符表示文件权限
前三个表示此文件的属主对文件权限
中间三个表示此文件属主所在组对文件的权限
最后三个表示其他用户对文件的权限
-表示普通文件。指文本文件和二进制文件
d表示文件夹
l表示符号连接文件,后面会用->打印出它指向文件
s表示socket文件
p表示管道文件 pipe
使用技巧:
2、Linux命令行中一些符号的含义
. 代表当前目录
.. 代表上一层目录,当前目录的父目录
- 代表前一个目录,刚刚从哪个目录cd过来
~ 代表当前用户的宿主目录
/ 代表根目录
$ 普通用户命令行提示符
# root用户命令行提示符
* 万能匹配符
宿主目录:所谓宿主目录,就是操作系统为当前用户所设计的用来存放文件、工作的默认目录,如Windows中的“我的文档”目录,就是Windows为我们设计的宿主目录。
Linux中每个用户都有自己的宿主目录,这个目录对于普通用户来说,在/home/username/,而对于root用户来说,在/root。