- shell命令解释器、命令编程语言;
- 命令行自动补齐功能:Tab键(有多项选择,按两次Tab会出现可选择项);
- 命令行历史 记录:上下箭头显示历史命令、Ctrl+r进入搜索历史命令模式、vi .bash_history打开历史命令存放文件;
- 编辑命令行:
- Ctrl+k:删除从光标到行尾的部分;
- Ctrl+u:删除从光标到行首的部分;
- Alt+d:删除从光标到词尾的部分;
- Ctrl+w:删除从光标到词首的部分;
- Ctrl+a:将光标移动到行首;
- Ctrl+e:将光标移动到行尾;
- Alt+a:将光标移动到词首;
- Alt+e:将光标移动到词尾;
- Ctrl+y:插入最近删除的单词;
- 命令排列:command1;command2(先执行command1,在执行command2),command1&&command2(先执行command1,如果command1执行不成功comand2就不会执行)
- 命令调度:在命令后面加&可以后台运行命令,终端可以继续接受新的命令;
- 输出重定向:> 可以将命令的输出结果保存到 > 指定的文件中(> 表示新建和重写一个文件,>> 表示在文件末尾添加新内容);
- command1 | command2(管道,命令1的结果作为命令2的输入);
- 环境变量:echo $+环境变量名(显示环境变量);export 环境变量名(修改环境变量名);env(显示所有环境变量);set(显示所有本地定义的shell变量);unset(清除环境变量);readonly(设置只读环境变量);
- 目录操作命令:
- pwd(查看当前工作目录);
- cd(改变工作目录,.代表此层目录,..代表上一层目录,-代表前一个工作目录,~代表目前使用者身份所在的home目录,~+账户名代表这个账号名所在的home目录);
- ls(显示目录内容,-l:以长格式显示,-a:显示所有子目录和文件信息,包括隐藏文件,-d:显示目录自身属性,-A:和-a类似,但不显示.和..的目录信息,-h以更易读的字节单位(K,M)显示信息,-R递归方式显示信息,--color以不同颜色显示不同类型的文件);
- mkdir(创建目录,-p:不存在的目录会新建);
- 文件操作命令:
- touch:新建一个文件;
- file:查看一个文件类型;
- cp [选项] 源文件或目录 目标文件或目录(复制文件,-r递归复制整个目录树,-p保持源文件属性不变,-f强制覆盖目标同名文件和目录,-i覆盖目标同名文件和目录时提醒);
- rm [选项] 文件或目录(删除文件或目录,-f强行删除文件和目录,不提醒,-i删除文件和目录提醒,-r递归删除整个目录树);
- mv [选项] 源文件或目录 目标文件或目录(移动文件或目录,如果目标位置和原位置相同,相当于改名);
- which 命令或程序名(查找Linux命令文件并显示所在位置,搜索范围由PATH环境指定);
- find [查找范围] [选项] [查找条件](-name:按名称查找,-size:按大小查找,-user:按文件属主查找,-type:按文件类型查找);
- ln [-s] 源文件或目录 链接文件或目标目录(-s建立软连接,默认建立硬链接,软连接指向原始文件所在路径,硬链接指向原始文件对应的数据存储位置);生成链接文件使用:./链接文件;
- 内容管理命令:
- cat [选项] 文件名(查看文件内容,-n参数显示带行号,>覆盖文件(cat >文件名)或将文件内容新建一个文件(cat 源文件 > 新文件),>>末尾追加新内容);
- more [选项] 文件名(分页查看内容,换行建向下换行,空格键向下翻页,b键向上翻页,+n:从第几行开始显示);
- head -n 文件名(从文件开头查看n行内容,默认10行);
- tail -n 文件名(从文件末尾查看n行内容,默认10行);
- wc 文件名(显示文件内容行数,字节数,字母数等);
- grep [选项] 查找条件 目标文件:按条件搜索文件(-i:忽略大小写,-v:反转查找,-n:显示查找内容所在的行数);
- diff -uN 文件1 文件2>目标文件.patch(比较两个文件的不同,并生成补丁文件);
- patch 需要打补丁的文件 补丁文件;
- 用户和文件权限管理:
- useradd [opt] username(添加新用户,g:指定新用户所属的用户组,s:指定新用户使用的shell);
- passwd username(设置用户密码);
- userdel [opt] username(删除用户,r:删除用户的家目录和邮件文件);
- usermod [opt] username:(用户管理命令,L:锁定用户,U:解除锁定,d:指定用户新的家目录,m:指定新目录同时移动原来家目录中的所有文件,G:为用户添加多个附加组,使用逗号隔开);
- groupadd groupname(添加用户组);
- groupdel groupname(删除用户组);
- chown [opt] username:group file(更改文件所属主和组,R:递归修改目录及目录中所有文件的权限);
- chmod [opt] [u/g/o/a+/-/=r/w/x] file(修改文件权限,u:用户,g:所属组,o:其他用户,a:所有用户,+:添加权限,—:删除权限,=:设置给定权限);
- 压缩和归档:
- tar [opt] file(打包,c:建立一个新归档文件,f:指定需要归档的文件,t:列出指定文件的内容,v:以详细模式显示命令执行过程,x:从归档文件中还原文件,z:通过gzip处理归档的文件,j:通过bzip2处理归档的文件,比如: tar -cf filename dir(filename是归档之后生成的文件名称,dir为要归档的目录或文件));
- gzip [opt] filename(压缩文件,c:压缩后将结果输出到标准输出,并保留原始文件,需要重定向保存压缩结果: gzip -c9 test >test.gz,d:解压缩文件,l:显示压缩文件的详细信息,r:递归地处理目录下所有文件及子目录,或递归地解压缩文件内的目录和子目录,v:显示命令执行过程,t:测试压缩文件,num:压缩率,1速度最快,压缩率最小,9相反)
- 磁盘分区:
- fdisk -l 查看磁盘分区状态;
- fdisk /dev/sd(a/b/c...),m查看帮助;
- 挂载磁盘:
- 分区中创建文件系统:mkfs -t 文件系统类型 分区设备(文件系统类型:ext2/ext3/vfat/msdos);
- 挂载磁盘:mount -t 文件系统类型 分区设备 挂载目录;
- 卸载磁盘:umount 挂在目录;
- df:查看分区挂载状态;
- 网络管理:
- ifconfig :查看网络接口状态,修改IP地址和子网掩码,启用和禁用网卡,设置物理地址;
- netstat [opt]:(查看系统的网络连接状态、路由表、接口统计等信息,a :显示所有活动链接,n:以数字形式显示,p:显示进程信息,t:显示TCP协议相关信息,u:查看UDP协议相关信息,r:显示路由表信息);
- ping 目标地址(检测联通性);
- 进程管理:
- ps:查看进程相关信息;
- top:动态显示进程信息;
- 配置嵌入式开发常用服务:
- NFS服务:
- dpkg -l | grep -i "nfs";查看是否安装NFS
- sudo apt-get install nfs-kernel-server :安装NFS服务;
- service nfs-kernel-server start/stop/restart:开启、关闭、重启NFS服务;
- mkdir dir(创建共享目录);
- vi /etc/exports(修改配置文件,共享目录 [opt] (rw/ro,sync,no_subtree_check),opt选项有:指定ip地址主机、指定域名主机、指定网段中的所有主机、指定域下的所有主机、*代表所有主机);
- 挂载共享目录;
- samba服务:
- dpkg -l | grep -i "samba";
- sudo apt-get install samba;
- service smbd start/stop/restart;
- 修改/etc/samba/smb.conf配置文件;
- smbpasswd -a 用户名;(给smbpasswd设置一个用户名,并设置相应密码)
- 遇到的问题:参考下面连接;(NAT模式需要配置虚拟机中ip地址和子网掩码和网关,使其和主机中的vmnet8处在同一网段,虚拟机的网关设置为vmnet8的ip地址)
https://wenku.baidu.com/view/e9ac54dcb14e852458fb5783.html
- TFTP服务:
- sudo apt-get install tftp-hpa;
- sudo apt-get install tftpd-hpa;
- sudo apt-get install xinetd;
- 单独开启TFTP服务(sudo service tftpd-hpa start);
- 配置xinetd之后再开启TFTP服务;