linux常用命令 (包括VIM的用法)

linux常用命令(ubuntu下):


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

ls -l显示的详细信息中:
-rw-r--r--
drwxr-xr-x
一共10个字符,第一个字符表示文件类型,后面9个字符表示文件权限。
文件类型:
- 表示普通文件。普通文件指文本文件和二进制
文件,如a.c  1.txt a.out都是普通文件
d 表示文件夹,d是directory的缩写
l 表示符号连接文件,后面会用->打印出它指向的文件
s 表示socket文件
p 表示管道文件 pipe
文件权限:
前三个表示此文件的属主对文件的权限
中间三个表示此文件属主所在的组对文件的权限
最后三个表示其他用户对文件的权限
rwx怎么解析:r代表可读,w代表可写,x代表可执行
rwx:可读,可写,可执行
r-x: 可读,不可写,可执行
r--: 可读,不可写,不可执行

(2) cd(change directory,更改目录)
作用:用来切换目录
涉及到相对路径和绝对路径 
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
rm -r 文件夹pathname

(9) cat
作用:直接在命令行下显示文件内容
 也可以用来向文件输入,暂时不管

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


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


linux中有两种连接文件:
一种叫软连接(符号连接),等同于windows中快捷方式
一种叫硬连接
创建软连接文件: ln -s 源文件名 符号连接文件名
举例:ln -s src.c,linker.c, linker.c就是src.c的一个符号连接文件


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


(12) man
作用:查询man手册,获得帮助信息
man 1 ls 1表示查询的是linux命令
man 2 xxx 2表示查询的是linux api
man 3 xxx 3表示查询的是C库函数
注意: ①在man手册中查询时,退出按Q键(Q就是quit的缩写)
②ubuntu自带的man手册只是包含常用的数据手册,pthread相关的man手册就没有,需要安装apt-get install manpages-posix-dev


(12) apt-get
作用:在ubuntu中用来在线安装、卸载软件的程序
apt-get install vim
apt-get remove vim
注意,安装和卸载都是在线的,也就是说ubuntu必须能上网才能使用apt-get 


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


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

注意:可以使用sudo暂时获取root权限,而不必进行用户切换。
/------------------------------------------------------------------------------------------------------------------------/
linux进阶命令
(14) find
功能:在linux文件系统中,用来查找一个文件放在哪里了。
举例:find /etc -name "interfaces"
总结:
(1)什么时候用find? 
当你知道你要找的文件名,但是你忘记了它被放在哪个目录下,要找到该文件时,用find。
(2)怎么用find?
find 路径 -name "文件名"


(15) grep
功能:在一个文本文件中,查找某个词。
举例:grep -nr "SUN" *
总结:
(1)什么时候用grep?
当你想查找某个符号在哪些地方(有可能是一个文件,也有可能是多个文件组成的文件夹)出现过,就用grep
(2)怎么用?
grep -nr "要查找的符号" 要查找的目录或文件集合
注意:-n表示查找结果中显示行号,-r表示要递归查找
*表示在所有文件中搜索


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

(16) uname
功能:查看系统信息
举例:uname -a


(17) 开机和关机
shutdown -h now 立即关机
init 0 关机
shutdown -r now 立即重启
reboot 重启

(18) tree/lstree
功能:显示文件和目录由根目录开始的树形结构


(19) mount/umount
功能:用来挂载磁盘到文件系统中
举例:mount -t nfs -o nolock 192.168.1.141:/root/rootfs /mnt 挂载
 umount /mnt 卸载
 
(20) 磁盘空间相关
df -h 显示已挂载的分区列表
du -h 列出文件或文件夹的大小 (常用,以M为单位)
du -h 文件名,可以列出这个文件有多大,列出方式是以人比较好看懂的方式。不像 ls -l列出的都是以字节为单位。


(21) 用户管理
useradd user1 添加一个名为user1的用户
userdel user1 删除一个名为user1的用户
passwd user1 为名为user的用户设置密码
adduser user1 添加一个名为user1的用户,同时创建宿主目录,用户shell等。

adduser和useradd的区别:
adduser是一个脚本,而useradd是一个二进制应用程序。adduser创建用户时比较麻烦,但是一次设定完所有的信息;
而useradd设置时简单,但是需要额外的设置宿主目录,密码那些信息。

(22) 权限管理
作用:用来管理系统中文件的权限。
chmod (change mode)修改文件权限,比较常用,要记得
chown (change owner,修改属主)
chgrp (change group,修改文件的组)

编码规则如下:
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 文件名 
注意:给所有用户权限 chmod a+x 文件名


(23) 文件打包压缩与解压缩
tar -czvf dir.tar.gz dir/ 将dir目录打包成dir.tar.gz
tar -cjvf dir.tar.bz2 dir/ 将dir目录打包成dir.tar.bz2
tar -xzvf dir.tar.gz 解压缩dir.tar.gz
tar -xjvf dir.tar.bz2 解压缩dir.tar.bz2

①:x表示解压,c表示压缩
②:z代表 解压缩的gzip属性的,x代表解压缩的是bzip2属性
③:后面的vf可以固定记住,其中v表示显示所有过程,f使用档案名字,且必须是最后一个参数。

(24) sed和awk
正则表达式。匹配加替换。(极少用)


(25) 格式化文件系统
mkfs /dev/hd1
mkfs -t vfat 32 -F /dev/hd1 创建一个FAT32文件系统

(26) 网络配置命令
ifconfig eth0 192.168.1.141 设置IP地址
ifconfig eth0 up 启动网卡
ifconfig eth0 down 禁用网卡
ifup eth0 启动网卡
ifdown eth0 禁用网卡
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 同时设置IP和子网掩码


/-------------------------------------------------------------------------------------------------------------------/
补充:
(28)ps   (进程查看命令)


ps -ajx 偏向显示各种有关的ID号
ps -aux 偏向显示进程的资源占用情况
注意: 可以后面加grep来查找进程,如:ps -aux | grep "syslogd"


(29)kill (杀死进程命令)


kill -信号编号 进程ID,向一个进程发送一个信号



/******************************************************************************************************************************/


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


注:vi和vim的关系:vim是vi的升级版,推荐使用vim。我们在后面提到vi时,其实都是指vim。


1、vi基础使用
*使用vi来打开/创建一个文件,vi pathname
*vi的两种模式:
命令模式:当vi打开时默认为命令模式,要转入输入模式,需要按a或者i键。
输入模式:输入模式用来向文件输入内容。在输入模式下按ESC键退回到命令模式。
注:注意看屏幕左下角,当命令模式时无提示信息或者提示文件名等信息,等处于输入模式时,提示 -- INSERT --
在命令模式下如何保存:
:wq 保存并且退出
:w 只保存不推出
:q 不保存退出 进来看了一下没改退出
:q! 不保存强制退出
:wq! 保存并强制退出


2、vi的高级使用
①查找
在命令模式下,输入/xxx,就可以查找到xxx


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


③设置显示行号
在命令模式下,输入:set nu,就可以显示行号


注:设置不显示行号,命令模式输入:set nonu
设置永久显示行号,需要修改vi的配置文件。打开vi的配置文件~/.vimrc,在其中输入set nu即可。


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


⑤行复制粘贴
复制:命令模式下,nyy
粘贴:命令模式下,p
注意:复制时要把光标放在多行的第一行,粘贴时实际。粘贴到当前光标所在行的下一行。


/********************************************************************************************************************************/
零散知识:
0、ubuntu中重定位命令 >  
例如,man 2 open >1.txt 则把man手册里open的内容全部显示到1.txt。 同理得ls -l >1.txt 
 注意:①如果1.txt不存在则会自动创建,如果存在且有内容,则会把原来所有的内容清掉(相当于删除了该文件在创建)
  ② >>   为追加符号。(如果文件不存在则创建,存在则接续到原来内容后面)




1、使用shell的Tab键自动补全
Tab在linux命令行输入中可以自动完成。在linux命令行中使用Tab键会极大提高输入效率

2、使用shell的历史记录
按下键盘上下箭头按键,就可实现上下翻页,翻出刚才用过的命令,直接回车执行。

3、linux控制台程序一般强制终止都是Ctrl+C ,如终止ping指令


4、清屏:输入命令Clear是跳到下一页,reset才在真正的清屏
 
5、 复制命令:Ctrl + Insert  组合键  或  用鼠标选中即是复制 (常用)。 
    粘贴命令:Shift + Insert  组合键  或  单击鼠标滚轮即为粘贴 (常用)。

6、隐藏文件:Windows是通过属性设置,
Linux是通过头文件,文件名以.开头,跟文件属性无关。在linux中查看隐藏文件用ls -a命令(普通显示ls)


7、共享文件夹路径为: /mnt/hgfs/共享文件夹名。
   插入的U盘,可用ls /dev/sd* 查看。  
   交叉编译工具链 在:/usr/local/arm/arm-2009q3/bin


8、linux命令行中一些符号的含义:
. 代表当前目录
.. 代表上一层目录,当前目录的父目录
- 代表前一个目录,我刚才从哪个目录cd过来
~ 代表当前用户的宿主目录
/ 代表根目录
$ 普通用户的命令行提示符
# root用户的命令行提示符
* 万能匹配符

宿主目录:所谓宿主目录,就是操作系统为当前用户所设计的用来存放文件、工作的默认目录。
 如Windows中的“我的文档”目录,就是Windows为我们设计的宿主目录。
Linux中每个用户都有自己的宿主目录,这个目录对于普通用户来说,在/home/username/,而对于root用户来说,在/root。




/**************************************************************************************************************************************/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值