linux 命令

系统开机流程:
1. 加载 BIOS 的硬件信息与进行自我测试,并依据设定取得第一个可开机的装置;
2. 读取并执行第一个开机装置内 MBR 的 boot Loader (亦即是 grub, spfdisk 等程序);
3. 依据 boot loader 的设定加载 Kernel , Kernel 会开始侦测硬件不加载驱动程序;
4. 在硬件驱动成功后, Kernel 会主动呼叫 init 程序,而 init 会取得 run-level 信息;
5. init 执行 /etc/rc.d/rc.sysinit 档案来准备软件执行的作业环境 (如网络、时区等);
6. init 执行 run-level 的各个服务之启动(script 方式);
7. init 执行 /etc/rc.d/rc.local 档案;
8. init 执行终端机仿真程序 mingetty 来启动login 程序,最后就等待用户登入啦;





安装和登录命令:
shutdown、halt、mount、init;


shutdown命令安全地将系统关机。
有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。
因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导
致进程的数据丢失﹐使系统处于不稳定的状态﹐甚至在有的系统中会损坏硬件设备。




shutdown -h now  马上关机  系统执行该命令后会自动进行数据同步的工作
shutdown -r now  马上重启




halt 关闭系统   实际上是调用shutdown -h命令。halt执行时,杀死应用进程,执行sync系统调用,文件系统写操作完成后就会停止内核。
halt -p 关闭系统并关闭电源 
halt -d  关闭系统,不留下记录 


poweroff -f 命令也可实现关机,同时关闭电源
都是调用shutdown命令来进行的


init 0命令用于立即将系统运行级别切换为0,即关机;init 6命令用于将系统运行级别切换为6,即重新启动




格式:mount [-参数] [设备名称] [挂载点] 
其中常用的参数有:
-a 安装在/etc/fstab文件中类出的所有文件系统。
-f 伪装mount,作出检查设备和目录的样子,但并不真正挂载文件系统。
-n 不把安装记录在/etc/mtab 文件中。
-r 讲文件系统安装为只读。
-v 详细显示安装信息。
-w 将文件系统安装为可写,为命令默认情况。
-t  指定设备的文件系统类型,常见的有: 
//
ext2  linux目前常用的文件系统 
msdos  MS-DOS的fat,就是fat16 
vfat  windows98常用的fat32 
nfs  网络文件系统 
iso9660  CD-ROM光盘标准文件系统 
ntfs  windows NT/2000/XP的文件系统 
auto 自动检测文件系统 
//


-o  指定挂载文件系统时的选项,有些也可写到在/etc/fstab中。常用的有: 

defaults 使用所有选项的默认值(auto、nouser、rw、suid)
auto/noauto 允许/不允许以 –a选项进行安装
dev/nodev 对/不对文件系统上的特殊设备进行解释
exec/noexec 允许/不允许执行二进制代码
suid/nosuid 确认/不确认suid和sgid位
user /nouser 允许/不允许一般用户挂载
codepage=XXX 代码页 
iocharset=XXX 字符集 
ro 以只读方式挂载 
rw 以读写方式挂载 
remount 重新安装已经安装了的文件系统
///






需要注意的是,挂载点必须是一个已经存在的目录,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用,
umount以后会恢复正常。使用多个-o参数的时候,-o 只用一次,参数之间用半角逗号隔开:


CODE:
# mount –o remount,rw /
例如要挂载windows下文件系统为FAT32的D盘,一般而言在Linux下这个分区对应/dev/hda5,根据具体的分区情况会有不同,这里就以hda5来举例说明:
CODE:
# mkdir /mnt/hda5  //创建hda5的目录作为挂载点,位置和目录名可自定义//
# mount -t vfat /dev/hda5 /mnt/hda5
一般而言,Linux会自动探测分区的文件系统,除非让你指定时,否则-t vfat 可以省掉。
CODE:
# mount /dev/hda5 /mnt/hda5
这样就可以进入/mnt/hda5目录去访问分区中的资源了。






挂载NFS 文件系统
mount -t nfs -o nolock 192.168.1.128:/root/hi3518/nfs /nfsroot


mount -o rw,remount -t ext4 /mnt/media_rw/udisk0






文件处理命令:


chgrp、chown、file、grep、find、ln;




cat /etc/group   查看组   chgrp 
cat /etc/passwd   查看用户 chown


[root@localhost test]# chgrp -v bin log2012.log
“log2012.log” 的所属组已更改为 bin


root@ubuntu:~# chown rpdzkj niha 
root@ubuntu:~# ll niha 
-rw-r--r-- 1 rpdzkj root 0 Nov 30 11:30 niha


root@ubuntu:~# chgrp rpdzkj niha 
root@ubuntu:~# ll niha 
-rw-r--r-- 1 rpdzkj rpdzkj 0 Nov 30 11:30 niha






同时改变拥有者和属组:  chown root:root install.log  或者  chown root.root install.log 
 
 
 
 
file命令用来识别文件类型,也可用来辨别一些文件的编码格式


正规表示法就是处理字符串的方法


实例6:从多个文件中查找关键词
命令:
grep 'linux' test.txt test2.txt


搜寻特定字符串   grep -n 'the' regular_express.txt


忽略大小写      grep -in 'the' regular_express.txt


行首与行尾字符 ^ $   grep -n '^the' regular_express.txt   grep -n 'the$' regular_express.txt


行首只要小写的  grep -n '^[a-z]' regular_express.txt




那个 ^ 符号,在字符集合符号(括号[])之内不之外是不同的! 在 [] 内代表『反向选择』,
在 [] 之外则代表定位在行首的意义!




find 


$find   ~   -name   "*.txt"   -print    #在$HOME中查.txt文件并显示
$find   .    -name   "*.txt"   -print
$find   .    -name   "[A-Z]*"   -print   #查以大写字母开头的文件
$find   /etc   -name   "host*"   -print #查以host开头的文件
$find   .   -name   "[a-z][a-z][0–9][0–9].txt"    -print   #查以两个小写字母和两个数字开头的txt文件
$find .   -perm   755   -print




$find   .   -size   +1000000c   -print        #查长度大于1Mb的文件
$find   .   -size   100c         -print       # 查长度为100c的文件
$find   .   -size   +10   -print              #查长度超过期作废10块的文件(1块=512字节)




ln 对一个目录下的该文件进行修改,就可以完成对所有目录下同名链接文件的修改。


硬链接   己经存在的文件的I节点号(Inode)会被多个目录文件项使用  不会增加节点   相当于源文件副本  没有建立新文件


ln /mub1/m2.c /usr/liu/a2.c






软连接 是个文本文件 建立了新文件  保存了源文件的路径  它具有不同的I节点号


在目录/usr/liu下建立一个符号链接文件abc,使它指向目录/usr/mengqc/mub1


ln -s /usr/mengqc/mub1 /usr/liu/abc






系统管理相关命令:


top、free、adduser、kill;


Linux系统可以通过top命令查看系统的CPU、内存、运行时间、交换分区、执行的线程等信息。
通过top命令可以有效的发现系统的缺陷出在哪里。是内存不够、CPU处理能力不够、IO读写过高。
https://jingyan.baidu.com/article/4d58d5412917cb9dd4e9c0ed.html






free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区
root@ubuntu:~# free -m
             total       used       free     shared    buffers     cached
Mem:          3008       1696       1311          0        422        683
-/+ buffers/cache:        590       2417
Swap:         4093          0       4093


total:内存总数; used:已经使用的内存数; free:空闲的内存数; shared:当前已经废弃不用; buffers:缓存内存数; cached:缓存内存数。


(-buffers/cache) used内存数:第一部分Mem行中的 used – buffers – cached 
(+buffers/cache) free内存数: 第一部分Mem行中的 free + buffers + cached


可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数。




adduser  用户名    //创建用户
默认情况下:
adduser在创建用户时会主动调用  /etc/adduser.conf;
在创建用户主目录时默认在/home下,而且创建为 /home/用户名   


如果主目录已经存在,就不再创建,但是此主目录虽然作为新用户的主目录,而且默认登录时会进入这个目录下,但是这个目录并不是属于新用户,当使用userdel删除新用户时,并不会删除这个主目录,因为这个主目录在创建前已经存在且并不属于这个用户。


为用户指定shell版本为:/bin/bash




(1)只删除用户:
sudo   userdel   用户名




(2)连同用户主目录一块删除:
sudo  userdel   -r   用户名






ps -ef | grep vim 
root 3268 2884 0 16:21 pts/1 00:00:00 vim install.log 
root 3370 2822 0 16:21 pts/0 00:00:00 grep vim 


kill 3268 
kill -9 3268 
-bash: kill: (3268) - 没有那个进程


Linux中的kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令。
通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后台进程就须用kill命令来终止,
我们就需要先使用ps/pidof/pstree/top等工具获取进程PID,然后使用kill命令来杀掉该进程。
kill命令是通过向进程发送指定的信号来结束相应进程的。在默认情况下,采用编号为15的TERM信号。
TERM信号将终止所有不能捕获该信号的进程。
对于那些可以捕获该信号的进程就要用编号为9的kill信号,强行“杀掉”该进程。


应注意,信号使进程强行终止,这常会带来一些副作用,如数据丢失或者终端无法恢复到正常状态。
发送信号时必须小心,只有在万不得已时,才用kill信号(9),因为进程不能首先捕获它。
要撤销所有的后台作业,可以输入kill 0。因为有些在后台运行的命令会启动多个进程,
跟踪并找到所有要杀掉的进程的PID是件很麻烦的事。
这时,使用kill 0来终止所有由当前shell启动的进程,是个有效的方法。


init是Linux系统操作中不可缺少的程序之一。所谓的init进程,它是一个由内核启动的用户级进程。
内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,
就通过启动一个用户级程序init的方式,完成引导进程。
所以,init始终是第一个进程(其进程编号始终为1)。 
其它所有进程都是init进程的子孙。init进程是不可杀的!


Linux系统中的killall命令用于杀死指定名字的进程(kill processes by name)。
我们可以使用kill命令杀死指定进程PID的进程,
如果要找到我们需要杀死的进程,
我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一,是一个很好用的命令。
实例1:杀死所有同名进程
命令:
killall vi  (kill  vi 是错误的!!!) 
killall -9 vi  


网络操作命令:


ifconfig、telnet、ftp;


实例5:配置IP地址
命令:
输出:
[root@localhost ~]# ifconfig eth0 192.168.120.56 
[root@localhost ~]# ifconfig eth0 192.168.120.56 netmask 255.255.255.0 
[root@localhost ~]# ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255




说明:
ifconfig eth0 192.168.120.56 
给eth0网卡配置IP地:192.168.120.56
 ifconfig eth0 192.168.120.56 netmask 255.255.255.0 
给eth0网卡配置IP地址:192.168.120.56 ,并加上子掩码:255.255.255.0
ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255
给eth0网卡配置IP地址:192.168.120.56,加上子掩码:255.255.255.0,加上个广播地址: 192.168.120.255


telnet  远程登录  
telnet 192.168.1.210   登录到开发板
telnet 192.168.120.206
telnet www.baidu.com




假设有一ftp服务器:ftp.test.com,用户名:username,密码:user1234。在本地电脑D:盘创建一个文件夹“qint”。
将要上传的文件复制到D:\qint里。通过FTP命令将文件从本地上传,从服务器下载的步骤如下:


1、“开始”→“运行”→输入“FTP”


2、open ftp.test.com


注意:这一步可以与第一步合并,在“运行”里直接输入:ftp ftp.test.com。如果你的FTP服务器不是用的21默认端口,假如端口是2121,那么此步的命令应在后面空格加2121,即“open ftp.test.com


3、username
注意:提示你输入用户名


4、user1234
注意:提示你输入密码,密码不回显,打完密码后回车即可。如果你的密码输入错误,将不会提示你重新输入,这时你要键入“user”命令,将会出现第三步,你可以重新输入用户名和密码。


5、dir
注意:你成功登陆后就可以用dir查看命令查看FTP服务器中的文件及目录,用ls命令只可以查看文件。


6、mkdir qint
注意:在FTP服务器上根目录下建立qint目录


7、cd qint
注意:进入目录qint,用“cd 你的目录名”可以进入当前目录的下一级目录,这跟DOS一样。


8、bin


注意:采用二进制传输。如果你要上传下载,这一步很重要,不先执行这个命令,上传下载会很慢。大多数系统(包括UNIX系统)只有两种模式:文本模式和二进制模式。文本传输器使用ASCII字符,并由回车键和换行符分开,而二进制不用转换或格式化就可传字符,二进制模式比文本模式更快,并且可以传输所有ASCII值,所以系统管理员一般将FTP设置成二进制模式。一般来说,我们最好都用binary方式,这样可以保证不出错。


9、lcd d:\qint


注意:定位本地默认文件夹,在前面已事先在D:盘创建


10、!dir


注意:查看本地文件夹中的文件及目录


11、put i001.jpg
注意:将当前目录(d:\qint)中的文件i001.jpg上传到FTP服务器默认目录。可以用“mput *.*”将所有文件上传到FTP服务器上。


12、get d123.jpg
注意:将FTP服务器默认目录中的文件d123.jpg下载到当前目录下(d:\qint)。可以用“mget *.*”将所有文件下载到d:\qint


13、delete *.*


注意:删除服务器对应目录qint中的所有文件。


14、cd ..


注意:返回至上一级目录,即根目录。返回上一级目录用“cd ..”要注意,中间有空格。返回根目录用“cd \”。


15、mrdir qint


注意:删除目录qint。删除目录,在此目录下不能有文件及目录,不然将无法删除。


16、bye


注意:退出FTP服务器。


上传下载时特别要注意服务器及本地电脑的当前目录,文件是从哪里到哪里的问题。
查看FTP服务器的当前目录命令为pwd,可以用cd命令定位服务器的目录。可以用lcd命令定位本地电脑的目录。






系统安全相关命令:


ps、who;


实例3:显示所有进程信息,连同命令行
命令:
ps -ef


实例4: ps 与grep 常用组合用法,查找特定进程
命令:
ps -ef|grep ssh


实例6:列出目前所有的正在内存当中的程序
命令:
ps aux


其它命令:


tar、unzip、gunzip:  -C 切换到指定目录


gzip -v testii   压缩   bzip2 -z testii
gzip -d testii.gz  解压缩  bzip2 -d testii.bz2


*.tar     tar 程序打包癿数据,并没有压缩过;
*.tar.gz  tar 程序打包癿档案,其中并且经过 gzip 的压缩
*.tar.bz2 tar 程序打包癿档案,其中并且经过 bzip2 的压缩




tar [-j|-z] [xv] [-f 建立文檔名] [-C 目录] <==解压缩


tar [-j|-z] [cv] [-f 建立癿檔名] filename... <==打包不压缩


.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName


.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName 


tar 
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)


.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName








sync  将数据同步写入硬盘中的指令




查找文件相关命令:


 which (寻找『执行档』 )
  which [-a] command
  -a :将所有由 PATH 目录中可以找到的命令均列出,而不止第一个被找到命
令名称


whereis (寻找特定档案)
-b :叧找 binary 格式的档案
-m :叧找在说明文件 manual 路径下的档案
-s :叧找 source 源档案
-u :搜寻不在上述三个项目中的其他特殊档案


locate
-i :忽略大小写差异
-r: 接正规表示法的显示方式






linux 命令网址

http://www.cnblogs.com/peida/tag/%E6%AF%8F%E6%97%A5%E4%B8%80linux%E5%91%BD%E4%BB%A4/





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值