资源描述
读书笔记(卷一 Linux篇)——< Shell常用命令汇总(系统,文件,压缩,合并,网络>
在下笔之前,首先非常非常感谢某个大神 曾送给井一 一本和嵌入式Linux编程有关的书,井一 定会好好珍惜~
by 井一
2014/4/13
———————————————————————————————
"Part 1——用户系统 相关指令:
一,(su---->用户切换)
格式:“su - root”,指将当前用户切换至’root‘用户。
拓展阅读——>指令格式中,su后紧跟的选项是还可以是:
1, ”-“,”-l“,”--login“,指为该操作者重新登录。将环境变量全部更新至root的环境变量;
2,”-m“,”-p“是指执行该指令时并不更改环境变量,即保持原有用户的环境变量设置;
———————————————————————————————
二, (useradd和passwd---->用户管理)
格式:
useradd 【选项】David (添加用户David)
passwd David (为用户David设置密码)
其中:useradd“选项”里的参数可以如下:
1,“-g”功能:指定用户David所在群组;
2,“-m”功能:自动建立用户David的登入目录;
3,“-n”功能,取消建立功能;
[注]:以上三个均为备用选项,可不加。
以上操作需在root'权限下进行
——————————————————————————————
三,(“ps”/"kill" 系统管理)
格式:
“ps -ef” 查看所有进程及其进程号(PID),系统时间,命令所在目录,执行者;
“ps -aus”查看所有进程及其进程号(PID),系统时间,命令所在目录,执行者,以及CPU及内存占用率,及进程状态;
“ps -w”使显示屏加宽,并可以显示更多信息;
”kill PID“,杀死某一进程号为PID进程(PID可由由上面“ps -ef”命令获取),即,发送终止信号给该进程
“kill -s PID”将任意指定信号发给进程;
“kill -p PID”打印出该进程的进程号;
”kill -l PID“列出该进程所有可用信号名称。
拓展阅读:
1,”ps“在具体的使用过程中,可以和其他指令结合起来使用,以提高效率;
2,”ps“选项中的”w'参数可以重复使用,比如“ps -efwww”——其中三个“w“表示在显示“ef”选项信息的时候加宽三倍。
———————————————————————————————
四,(fdisk——>磁盘相关命令)
格式:”fdisk -l",功能,查看文件系统的分区情况,或对磁盘进行分区(可额外查资料);
其他功能相近指令 ——
“free“指令,功能,查看当前系统内存的使用情况
“df”指令,功能,查看当前磁盘空间的占用情况
“du”指令,功能,统计文件/目录所占磁盘空间的大小
注,以上指令在使用过程中需要root权限
———————————————————————————————
五,(mount——文件系统挂载命令)
首先,这条命令需在root权限下运行,再者,这条命令实质上是指在分区和目录建立具体映射的过程——把文件系统/设备挂载到相应的挂载点
具体的使用流程如下;
1,了解各个系统的文件系统类型,比如,window95/98的”vfat“文件系统;window NT/2000的”ntfs“文件系统,OS/2的”hpfs“文件系统,Linux的“ext2”“ext3" "nfs"文件系统.——从而确定以何种文件格式挂载。
2,通过”fdisk -l“指令得到设备的名称
3,在/mnt目录下查找要挂载的挂载点,如果没有,则自行新建相应目录。
4,最终的命令格式如下”mount -t vfat 设备文件名 挂载点目录“——例如 ”mount - t vfat /dev/hda1 /mnt/win/c"——其中”-t vfat“指明是以vfat格式挂载,即window95系统下的挂载,设备文件名是指步骤2得到的文件名,挂载点目录是指步骤3中的挂载点目录。
5,在最后使用完该设备文件后,可用命令”umount 挂载点目录“解除挂载。即“umount /mnt/win/c"
———————————————————————————————
Part 2 ——文件相关指令
———————————————————————————————
一,("cd"——进入某一目录 | ”pwd“显示当前目录')
格式:”cd /home/david/"——指进入/home/david/目录里
”pwd“———————显示当前所在目录
特例;
"cd ~"——进入主目录
”cd -“——进入前一次的工作目录
———————————————————————————————
二(”ls“——显示当前目录下的 文件/目录信息)
格式:
”ls -l“——单列输出文件/目录信息;
”ls -a“——列出所有文件(包含被隐藏的部分)
”ls -d“——列出目录名,而非目录内容
——————————————————————————————
三,(“mkdir”——创建一个目录)
格式:
1,”mkdir /home/david“, 功能,创建/home/david目录
2,”mkdir -p /home/david", 功能,智能创建/home/david目录,即,如果待创建的路径中某些目录不存在,则系统自动建立好那些不存在的目录
3,“mkdir -m 777 /home/david", 功能,在创建/home/david 目录时,同时指定其权限,比如”777“的最高系统权限
注:上述3中要求用户在创建过程中已有系统root权限,如何的到root权限??——”sudo+命令“或键入“chmod 777 *”。
——————————————————————————————
四,("cat’——连接并显示多个文件的有关信息)
格式:
“cat -n 文件名1 文件名2”——对所有的行进行编号(即行前面都显示编号)且显示。
”cat -b 文件名1 文件名2“——功能同上,只是对空白行不编号。
——————————————————————————————
五(”cp“——复制给定文件或目录到另一文件或目录)
格式:”cp -a /home/david ./" ——功能,将/home/david目录下的内容复制到”./ "(即当前目录)
注:
其中“-a 是指在复制过程中保留链接,原有属性,并复制其子目录。
其中”-a“也可替换成其他参数,具体请自行谷歌。
——————————————————————————————
六,(”mv“——为文件改名 或 将文件由一个目录移至另一目录)
格式:
”mv 【选项】 源文件名 目标文件名“——功能——将”原文件名“改名至”目标文件名“
”mv 【选项】 源目录 目标目录“——功能——将”源目录下的内容挪至目标目录
其中,格式里的【选项】是可加可不加,如果加上:
1,若为”mv -i 源文件或目录 目标文件目录“——则在移动过程中若出现对原有内容的覆盖,则系统会提问”y or n“;
2,若为“ mv -f 源文件或目录 目标文件目录”——则在覆盖时不提醒。
——————————————————————————————
七(“rm”——对一文件或目录进行删除)
格式:“rm 【选项】 文件或目录名
其中格式里的【选项】若为”-i“,则进行交互式的删除;
若为”-f“,则无提示的删除;
若为”-r“,则将里面的内容及其所有子目录均递归的删除。
——————————————————————————————
八,(chown——修改文件所有者 | chgrp——修改文件所在组)
格式:
“chowm root hello.c”——功能——把hello.c文件的所有者改为root
”chgrp root hello.c ’——功能——把hello.c 文件的所在组改为root
注,以上两者操作均需在系统高级权限下进行(“sudo+命令”或“chmod 777 *)
———————————————————————————————
九(chmod——改变文件的读写权限)
该命令有两种表示方法,一种是符号形式,另一种为八进制形式。
在具体阐述符号形式之前,先稍稍补充下文件的访问权限格式的相关内容—— ”- rwx rwx rwx “,
其中”-"所在位,指明了文件所属类型。而三个“rwx”指明了文件拥有者u,所属的用户组(g),其他用户(o)——是否拥有读权限,写权限,执行权限。
具体格式:
1,字符格式——“chmod g+w,o+r hello.c ‘——是指对于hello.c文件,为ta的所在组添加写权限,为其他用户添加运行权限
2,八进制格式——将字符格式中的各位,如果”使能,则置1“,否则为0 ,将所得二进制字符串用八进制表示出来,例如”chmod 777 hello.c" ——为上述的“u”,“o“,”g“均赋值是”使能“权限。
注,使用chmod时必须有最高的root权限。
——————————————————————————————
十(grep——在指定文件中搜索特定的内容——并把对应行输出)
格式,如”grep 【选项】 hello /home/david/hello.c ——’在/home/david/路径下的hello.c 文件搜索含“hello”的行。
格式中的【选项】为备选项,可加可不加——若加:
“-c”——只输出含“'hello”的行的个数
“I”——查询时不区分大小写
其余不常见的选项如有需要——请自行谷歌
——————————————————————————————
十一(find ——搜索指定目录下的指定内容)
格式:“find 路径 【参数】 【描述】“
其中,格式里的【参数】选项可加可不加——若加:
”-depth“指使用深度级别的查找过程方法
”-mount“查找过程中选择性的忽略其他文件系统的文件
而格式里的【描述】参数也是可加可不加——若加
”-name"则支持通配符“*”和“?“——比如”find /home/david/ -name *.c,可以识别/home/david/目录下的所有.c文件
——————————————————————————————
十二(locate——一种基于数据库查找的方法———)
即,先建立一个包含系统内所有文件名称和路径在内的数据库,之后查找时,只需查询该数据库———查找速度会大大提升。
格式:locate 【选项】
其中【选项】的值可如下:
“-u”——从根目录开始创建数据库
”-U"——从指定的目录开始创建数据库(下面有具体的实例)
”-f“——把指定的文件系统的文件排除在数据库之外
”-r“——使用正则运算式做查找的条件
”-o“——指定数据库的名称
例如
首先,用“locate issue -U ./"———功能,在当前目录下建立个数据库,
之后利用”updatedb“——来进行更新
最后利用”locate -r issue*来进行正则匹配查找。
——————————————————————————————
十三(ln ——为某一文件在另一位置存放一个符号链接
格式:”ln -s 目标目录 待创建符号链接的文件 ”
注:以上指令为“软链接”——即,只生成一个文件的镜像,而非实体——故,文件发生变化时定会同步
——————————————————————————————
part3——压缩打包相关命令
———————————————————————————————
一,(gzip——对文件进行压缩或解压——且能智能识别压缩类型)
格式:“gzip 【选项】 待解压或压缩的文件名”
其中【选项】是备选项——
“-d” 是指对压缩文件解压
“-r” 查找指定目录,并压缩或解压目录下的所有文件
注:【选项】中的“-d”只能压缩单个文件——就算用ta来压缩整个目录,也是对每个文件逐个压缩——而非整体打包压缩。
——————————————————————————————
二(tar——对文件目录进行打包或解包)
注意,这里说的是——打包,要记得打包和压缩是截然不同的概念。
格式
“tar 【选项】 【打包后文件名】 文件所在目录或名字“
功能,
将待打包或解压的文件——打包或解压为名为【打包后文件名】的文件。
【选项】里的参数可以如下;
“-c” 建立新的打包文件
"-f" 对普通文件进行操作
”-z“ 调用gzip来压缩打包文件——若与”-x“联用则调用gzip完成解压缩
“-j”调用bzip2来压缩打包文件——若与'-x"联用则调用bzip
2来完成解压缩
“-Z”调用compress来压缩打包文件——若与“-x”联用则调用compress来完成解压缩
最后,献上最常用后缀名的解压命令——
文件后缀 指令
“*.a" "tar xv *.a"
“*.z" "uncompress *.Z"
"*.gz" "gunzip *.gz"
"*.tar.Z" "tar xZvf *.tar.Z"
"*.tar.gz/tgz" "tar xzvf *.tar.gz"
"*.tar.bz2" "tar jxvf *.tar.bz2"
"*.rpm" "rpm -i *.rpm"——安装相应后缀的文件
"*.rpm" "rpm2cpio *.rpm"——解压缩相应后缀的文件
"*.deb" "dpkg -i *.deb"——安装相应后缀的文件
'*.deb" "dpkg-deb --fsys-tar* *.deb"——解压缩相应后缀的文件
"*.zip" "unzip *.zip"
——————————————————————————————
part4——文件比较 或 合并 相关命令
——————————————————————————————
一(diff——比较两个不同的文件 或不同目录下的两个同名文件)
格式:diff 【选项】 文件名1 文件名2
其中格式里的【选项】可以为——
“-r” 对目录进行递归对比
“-q”仅报告是否有不同,不输出结果
”-c“用旧版上下文格式来输出——全部列出,不同处标注
”-u“用新版上下文格式来输出——仅列出不同的部分
”-e“命令格式——比如”diff -e 文件名1 文件名2“
拓展阅读:diff还可以用来创建补丁文件
比如——”diff 文件名A 文件名B >文件名.patch"
便可用来生成补丁文件——用来显示两文件间差别的部分。
——————————————————————————————
二(patch——和以上diff配合使用,用来把补丁文件应用到当前代码上)
格式: “patch 文件名A < 文件名.patch
——————————————————————————————
part5——网络相关命令
——————————————————————————————
一(ifconfig——用来查看和配置网络接口的地址和具体参数)
格式:
1, ”ifconfig“——显示所有活跃的接口
2, ”ifconfig 网络接口 【选项】“
格式2中的【选项】——
”up“激活指定的网络接口卡
”down“关闭指定的网络接口
”broadcast address”设置接口的广播地址
“point to point” 启动点对点方式
“address”设置指定接口设备的IP地址
“netmask address”设置接口的子网掩码。
——————————————————————————————
二,(ftp——允许用户以ftp协议上传或下载文件)
实例如下——
利用ftp命令访问“ftp://”站点
1,输入“ftp "
2,输入用户名”anonymous“,password处输入任一邮箱地址均可。
3,输入”dir“以显示该目录下的所有文件及目录的信息。
4,输入”cd 目录名“进入相应的目录——输入”pwd“显示当前路径
5, 输入”lcd 上传/下载文件所用目录“ ,再接下来利用get命令来下载文件,即输入:”get 文件名“
6,若需更改编码模式,则输入”bin“进行更改
7,最后,输入”bye“退出
<——————————The end——————————>
收起
展开阅读全文