当我们谈起命令行时,我们实际上指的是shell。当使用图形用户界面时,需要另一种叫做终端仿真器的程序与shell进行交互。终端仿真器的存在就是便于用户访问shell。shell是及其强大的,有时对于图形界面的操作使用shell能够更快的达到我们的需要。
shell是一个接收由键盘输入的命令,并将其传递给操作系统来执行的程序。
//命令组成由用户名+@+机器名+当前路径(~表示用户主目录,/表示根目录)
[username@machinename ~]$ //若$为#,则表示当前用户拥有root权限
基础命令
//显示日期
[zhy@ubuntu ~]$ date
//查看当前工作目录
[zhy@ubuntu ~]$ pwd
//改变目录
[zhy@ubuntu ~]$ cd
//列出目录内容
[zhy@ubuntu ~]$ ls
//创建目录
[zhy@ubuntu ~]$ mkdir dir1 dir2
//复制文件和目录
[zhy@ubuntu ~]$ cp item1 item2
[zhy@ubuntu ~]$ cp item
神奇的ls命令
linxu中的大部分命令使用的选项是在单个字符前加上连字符,如 -l。并且也支持多个短选项串在一起使用。
[zhy@ubuntu ~]$ ls -lt //以文件修改时间的先后并以长格式显示出结果
ls 命令有许多可用的选项,最常用的选项如下所示:
选项 | 含义 |
---|---|
-a | 列出所有文件,包括以点号开头的隐藏文件 |
-d | 将此选项与-l选型结合使用,可查看目录的详细信息,而不是目录内容 |
-F | 选项会在每个列出的名字后加上类型指示符(例如名字是目录名,则会加上一个斜杠) |
-h | 以长格式列出,以人们可读的方式而不是字节数来显示文件大小 |
-l | 使用长格式显示结果 |
-r | 按字母降序排列 |
-S | 按文件大小对结果排序 |
-t | 按修改时间排序 |
ls中长格式解读
[zhy@ubuntu ~]$ ls -lF Desktop
drwxr-xr-x 2 root root 4096 6月 12 2017 Desktop/
字段 | 含义 |
---|---|
2 | 文件硬链接数目 |
root | 文件所有者的用户名 |
root | 文件所属用户组的名称 |
4096 | 以字节数表示的文件大小 |
6月 12 2017 | 上次修改文件的日期时间 |
Desktop | 文件名 |
使用file命令确定文件类型
在linux系统中,文件名不需要反映文件的内容。如果想要查看一个文件的属性就需要用到file命令。
[zhy@ubuntu ~]$ file Desktop
Desktop: directory //表明Desktop是个目录
使用cp、mv命令
//mv命令使用方式跟cp命令相似
[zhy@ubuntu ~]$ cp file1 file2 //将file1复制到file2中,若file2存在,则会被file1覆盖。否则创建file2
[zhy@ubuntu ~]$ cp -i file1 file2 //当复制内容在file2中存在时,覆盖之前通知用户确认
[zhy@ubuntu ~]$ cp file1 file2 dir1 //将file1和file2复制到目录dir1中。dir2必须存在
[zhy@ubuntu ~]$ cp dir1/* dir2 //使用通配符,将dir1中的所有文件复制到dir2中。dir2必须存在
[zhy@ubuntu ~]$ cp -r dir1 dir2 //将dir1目录(及其内容)复制到dir2目录中
[zhy@ubuntu ~]$ cp -v file dir //将file复制到dir目录下时显示消息性信息
rm 删除命令
rm命令用来移除文件和目录。一旦使用rm命令,就彻底地删除了。linux操作系统默认用户是明智的,并清楚自己在干什么。
[zhy@ubuntu ~]$ rm file //不提示用户的情况下,删除file
[zhy@ubuntu ~]$ rm -i file //删除file前,提示用户确认
[zhy@ubuntu ~]$ rm -r file1 dir1 //删除file1和dir1以及它们的内容
[zhy@ubuntu ~]$ rm -rf file1 dir1 //当file1或dir1不存在时,仍会执行删除操作,且不提示用户
ln 创建链接
[zhy@ubuntu ~]$ ln file link //创建硬链接
[zhy@ubuntu ~]$ ln -s item link //创建符号链接
可通过ls -li
通过第一个字段查看索引节点号,索引节点号相同就证明是同一个文件
linux系统中的目录
目录 | 内容 |
---|---|
/ | 根目录,一切从这里开始 |
/bin | 系统启动和运行所必须的二进制文件 |
/boot | linux核心文件 |
/dev | 存放设备文件 |
/etc | 存放配置文件 |
/home | 用户主目录 |
/lib | 核心系统使用的共享库文件 |
/media | 存放可移除媒体设备的挂载点,例如USB驱动,键盘等 |
/mnt | 一般是空的,用来临时挂载别的文件系统 |
/opt | 用来安装其他可选的软件。主要用来存放安装在系统中的商业软件 |
/proc | 虚拟文件系统,是内存的映射 |
/root | root账户的主目录 |
/sbin | 系统管理员命令存放目录 |
/tmp | 存放各类程序创建的临时文件的目录。 |
/user | linux系统中最大的目录树。存放程序和文件 |
/user/bin | 存放linux发行版安装的可执行程序 |
/user/lib | /user/bin目录中的程序使用的共享库 |
显示命令的类型
//type command
[zhy@ubuntu ~]$ type type
type is a shell builtin
[zhy@ubuntu ~]$ type ls
ls is aliased to `ls --color=auto'
[zhy@ubuntu ~]$ type cd
cd is a shell builtin
[zhy@ubuntu ~]$ type cp
cp is /bin/cp
显示可执行程序的位置
//which可以确定一个给定可执行文件的准确位置
[zhy@ubuntu ~]$ which ls
//which只适用于可执行程序,而不适用于内置命令和命令别名
获得命令文档
//获得shell内置命令的帮助文档
[zhy@ubuntu ~]$ help cd
//显示命令的使用信息
[zhy@ubuntu ~]$ mkdir --help
//显示程序的手册页
[zhy@ubuntu ~]$ man ls
使用别名创建自己的命令
//创建命令
[zhy@ubuntu ~]$ alias name='string'
//删除别名命令
[zhy@ubuntu ~]$ unalias name
//查看系统已有别名
[zhy@ubuntu ~]$ alias
更多文章请关注我的个人博客:www.zhyocean.cn