Ubuntu常用shell命令
Ubuntu作为Linux一个发行版,受到了很多用户的喜爱。正如绝大多数Linux发行版一样,shell是Ubuntu使用过程中的一大利器,特别是对于服务器用户来说,没有图形界面,所有的操作都只能依赖于shell指令完成。现在将我平时遇到的一些常见的shell指令总结如下,以备以后查找:
ls
这或许是shell中使用最多的一个指令了,用来列出当前文件夹文件的一些信息。
使用格式为
ls [OPTION]... [FILE]...
常用的几个OPTION有:-a, -l, -A, -d, -h, -R, -t, --help
ls -a # 相当于ls --all,列出当前文件夹中所有的文件,包括.开始的隐藏文件
ls -A # 相当于ls --almost_all, 列出除了. .. 这两个文件夹以外的所有文件
ls -l # 列出文件所有的信息
ls -d # 列出所有的文件夹
ls -h # ls --human_readable,同-l 一起使用时,文件大小用K,M,G等人类方便阅读的形式展示
ls -R # 递归地列出当前文件夹和子文件夹所有的文件
ls -t # 将文件按照修改时间排序列出
ls --help # 打印帮助信息
cd
cd dir_path # 进入到选定的文件夹
mkdir
mkdir [OPTION]... DIRECTORY...
# 新建一个文件夹,可以指定路径
mkdir -m # 指定新建文件夹的mod,读写权限,和chmod有一样的效果
mkdir -v # 新建文件夹的时候输出打印信息,created directory new_dir_name
mv
mv [OPTION] SOURCE DEST
# 移动文件夹SOURCE到DEST,SOURCE和DEST的类型必须相同,都是文件或者都是文件夹,如果SOURCE是文件,DEST可以是文件夹 ,表示移动文件SOURCE到DEST文件夹下。可以不用管OPTION,默认就够用了。
# 如果DEST存在并且是一个文件,那么一定被覆盖;如果DEST是一个文件夹,则直接移动到DEST文件夹下。如果DEST不存在就创建一个,相当于rename的功能。
cp
cp
是shell的复制命令(Copy)
cp file1 file2 # 将file1的内容复制到file2
cp -r dir1 dir2 # 将dir1的内容复制到dir2
scp
scp
是secure copy的缩写,是Linux系统下基于ssh登陆的安全的远程文件拷贝命令。主要用于在Linux服务器之间复制文件和目录。
scp [参数] [原路径] [目标路径]
scp -1 # 强制使用ssh1协议
scp -2 # 强制使用ssh2协议
scp -4 # 只使用IPv4寻址
scp -6 # 只使用IPv6寻址
scp -r # 远程复制目录时使用
rm
文件或文件夹删除命令
rm [选项] 文件...
rm -r # 删除一个文件夹
df
df
命令用来检查Linux服务器的文件系统的磁盘占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
df -h #用来展示每个文件系统占用了多少空间(只需要知道这一个就够了)
du
du
命令用来查看当前文件夹中的文件存储空间的占用情况
du -h --max-depth=1 查看当前文件夹各个文件的空间占用情况
chmod
chmod
命令用于改变Linux系统文件或目录的访问权限。该命令有两种用法:一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。文件或目录的访问权限分为只读,只写和可执行三种。
以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。
有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的创建者,所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。
每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读写和执行权限;与文件属主同组的用户的读写和执行权限;系统中其他用户的读写和执行权限。当用ls -l
命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。
第一列文件权限一般有10个位置
-rw-r--r--
第一个位置标明文件类型,-表示普通文件,d表示目录文件
2-9个字符分别表示所有者,同组用户,其他用户的读(r)写(w)和可执行权限(x),例如上面的例子表明该文件是一个普通文件,所有者有读写权限,同组用户有读权限,其他用户有读权限。
命令格式:
chmod [-cfvR] [--help] [--version] mode file
-R 处理指定目录以及其子目录下的所有文件
chmod u + rwx file #给当前用户增加对file的读写、可执行权限, u可以变为g,(当前用户所在的组) o(其他用户), a(所有用户) +可以变为-(取消某种权限) =(重新赋值)
chmod +777 file #+表示增加权限 777三个数字分别表示当前用户、当前组用户、其他用户的权限修改
#0表示没有权限,1表示可执行,2表示写权限,4表示读权限
chown
chown
将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。
chown
命令在用户之前拷贝文件的时候十分有用。
chown [-cfhRv] [owner] [:group] file
# -R 表示处理指定目录以及其子目录下的所有文件
# 改变拥有者和群组
chown yey:icst file
# 改变拥有者
chown yey: file
# 改变群组
chown :icst file
chgrp
chgrp
用于改变文件的所有组
chgrp icst file
head
tail
head
与tail
就像它的名字一样,用来显示开头或结尾某个数量的文字区块,head
用来显示档案的开头至标准输出中,而tail
用于查看文档的结尾。
head -c 1000 #查看前1000个字节的内容
head -n 100 # 查看前100行的内容
tail -c 1000 #查看最后1000个字节的内容
tail -n 100 #查看最后100行的内容
screen
提供统一的管理多个会话的界面和相应的功能(具体使用方法后面详细写一个博客)
apt-get
高级包装工具(Advanced Packaging Tools)是Debian及其衍生发行版(如:ubuntu)的软件包管理器。APT可以自动下载,配置,安装二进制或者源码格式的软件包。(详细的使用方法见以后的博客)