基本命令操作
在LINUX中使用一个命令,命令格式如下:
命令 【选项】 【参数】
命令:具体执行的命令,比如pwd,head
选项:会影响到命令的一些形为操作,通常以- --实现
参数:命令作用的对象
基本命令之一:ls
作用:查看当前目录下有哪些文件(list)
语法:ls 目录/文件 ,如果什么也不加,那么查看的是当前目录下的内容
ls:
-l:长格式,列出文件的详细信息
-h:做单位换算
-a: 显示以.开头的隐藏文件
-d:显示目录自身属性
-i:index node,inode
-r:逆序显示
-R:递归(recursive)显示
ls -l
[chendajie@CHENDAJIE ~]$ ls -l
总用量 4960
-rw-------. 1 chendajie chendajie 5095424 9月 24 21:43 core.2191
drwxr-xr-x. 2 chendajie chendajie 6 9月 24 21:39 公共
drwxr-xr-x. 2 chendajie chendajie 6 9月 24 21:39 模板
drwxr-xr-x. 2 chendajie chendajie 6 9月 24 21:39 视频
drwxr-xr-x. 2 chendajie chendajie 6 9月 24 21:39 图片
drwxr-xr-x. 2 chendajie chendajie 6 9月 24 21:39 文档
drwxr-xr-x. 2 chendajie chendajie 6 9月 24 21:39 下载
drwxr-xr-x. 2 chendajie chendajie 6 9月 24 21:39 音乐
drwxr-xr-x. 2 chendajie chendajie 6 9月 24 21:39 桌面
文件类型有以下几种:
-:普通文件(f)
d: 目录文件
b: 块设备文件(block)
c: 字符设备文件(character)
l: 符号链接文件(symbolic link file)
p:命令管道文件(pipe)
s:套接字文件(socket)
linux系统中不同的颜色代表了不同的文件类型
ls -a :
列出当前目录下的所有文件,包括以" . "开头的隐藏文件。(linux下隐藏文件是以 . 开头的,如果存在2个点代表存在着父目录,1个点表示当前目录)
[chendajie@CHENDAJIE ~]$ ls -a
. .bash_profile core.2191 .mozilla 视频 音乐
.. .bashrc .esd_auth .viminfo 图片 桌面
.bash_history .cache .ICEauthority 公共 文档
.bash_logout .config .local 模板 下载
ls -d:
查看目录(不查看里面的内容)
[chendajie@CHENDAJIE ~]$ ls -ld /root/
dr-xr-x---. 6 root root 250 9月 27 16:32 /root/
ls -S:
以文件的大小进行排序:
[root@CHENDAJIE chendajie]# ls -lSh /root/ #-h表示以人类容易理解的方式列出。
总用量 8.0K
-rw-r--r--. 1 root root 1.8K 9月 24 21:38 initial-setup-ks.cfg
-rw-------. 1 root root 1.8K 9月 24 21:34 anaconda-ks.cfg
drwxr-xr-x 2 root root 6 9月 26 20:06 cdrom
ls -l 和ll 命令是等价的,此处涉及到了命令别名的问题,下面会谈到。
[root@CHENDAJIE chendajie]# ll /etc/passwd
-rw-r--r-- 1 root root 2127 9月 25 19:54 /etc/passwd
[root@CHENDAJIE chendajie]# ls -l /etc/passwd
-rw-r--r-- 1 root root 2127 9月 25 19:54 /etc/passwd
可以仔细观察代码块,ls -l 和 ll 命令显示的/etc/passwd文件一模一样。
使用type命令查看ll命令,可以看到 ll 是 ls -l 的别名:
[root@CHENDAJIE chendajie]# type ll
ll 是 `ls -l --color=auto' 的别名
别名的使用:alias
定义一个别名
将cat /etc/sysconfig/network-scripts/ifcfg-ens33 设置别名为catens33
[root@CHENDAJIE chendajie]# alias catens33='cat /etc/sysconfig/network-scripts/ifcfg-ens33'
[root@CHENDAJIE chendajie]# catens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=4f7c6e0d-304f-4fa5-a667-c3dbf881d678
DEVICE=ens33
ONBOOT=yes
IPADDR=172.17.2.71
PREFIX=16
GATEWAY=172.17.2.1
DNS1=202.101.224.69
IPV6_PRIVACY=no
此时设置的别名只是临时生效,重启bash后无效。下面介绍如何永久设置别名。
删除别名:unalias
[root@CHENDAJIE chendajie]# unalias catens33
设置永久别名
1】给当前用户设置永久生效的别名:
将想要定义的别名写入文件**/root/.bashrc**中
最初始/root/.bashrc文件内容如下:
▽root@CHENDAJIE chendajie]# vim /root/.bashrc
1 # .bashrc
2
3 # User specific aliases and functions
4
5 alias rm='rm -i'
6 alias cp='cp -i'
7 alias mv='mv -i'
8
9 # Source global definitions
10 if [ -f /etc/bashrc ]; then
11 . /etc/bashrc
12 fi
将我们所要定义的别名加入文件中:
1 # .bashrc
2
3 # User specific aliases and functions
4
5 alias rm='rm -i'
6 alias cp='cp -i'
7 alias mv='mv -i'
8 alias catens33="vim /etc/sysconfig/network-scripts/ifcfg-ens33"
9 # Source global definitions
10 if [ -f /etc/bashrc ]; then
11 . /etc/bashrc
12 fi
wq保存退出。
使用source /root/.bashrc
提醒系统更新命令,此时catens33就可以使用了。本人在写这篇博客的时候,十分粗心,没有仔细阅读MK的笔记,所以造成实验一直不成功。所以,希望大家在阅读文档时,要细心。
[root@CHENDAJIE chendajie]# source /root/.bashrc
[root@CHENDAJIE chendajie]# catens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MO
DE=stable-privacy
NAME=ens33
UUID=4f7c6e0d-304f-4fa5-a667-c3dbf881d678
DEVICE=ens33
ONBOOT=yes
IPADDR=172.17.2.71
PREFIX=16
GATEWAY=172.17.2.1
DNS1=202.101.224.69
IPV6_PRIVACY=no
【注意】此别名只对root用户生效。
2】给全局用户设置别名
[root@CHENDAJIE chendajie]# vim /etc/bashrc
在文件最后插入
alias catens33="vim /etc/sysconfig/network-scripts/ifcfg-ens33"
[root@CHENDAJIE chendajie]# su chendajie
▽chendajie@CHENDAJIE ~]$ catens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=4f7c6e0d-304f-4fa5-a667-c3dbf881d678
DEVICE=ens33
ONBOOT=yes
IPADDR=172.17.2.71
PREFIX=16
GATEWAY=172.17.2.1
DNS1=202.101.224.69
IPV6_PRIVACY=no
cd 命令
cd: chang directory
家目录:主目录,home directory
cd ~username:进入指定用户的家目录。
[root@CHENDAJIE chendajie]# cd ~chendajie
[root@CHENDAJIE chendajie]# ls
core.2191 公共 模板 视频 图片 文档 下载 音乐 桌面
cd -:在当前目录和前一次所在目录来回切换。
[root@CHENDAJIE chendajie]# cd /etc
[root@CHENDAJIE etc]# cd -
/home/chendajie
[root@CHENDAJIE chendajie]# cd -
/etc
cd …: 此处是两个点,表示返回到上级目录,也就是父目录。
[root@CHENDAJIE chendajie]# cd ..
[root@CHENDAJIE home]#
**cd . : **表示进入当前用户所在的目录。
[root@CHENDAJIE home]# cd .
[root@CHENDAJIE home]#
history命令
history命令的文件保存路径为:~/.bash_history。
直接输入history 命令可查看最近输入的命令
也可以通过查看~/.bash_history文件来查看。
4个快速查找Linux历史命令的技巧:
方法1: 光标上下键
方法2: ctrl+r -》输入某条命令的关键字-》找出来对应的命令,按右光标键
方法3: !数字 //执行历史命令中第N条命令
方法4:!字符串 //搜索历史命令中最近一个以xxxx字符开头的命令,例如!vim
Linux下快捷键
都是用Ctrl+下面的单词, ^表示Ctrl
^C
终止前台运行的程序 , 如:ping g.cn 后,想停止按下Ctrl+C
^D
退出 等价exit
^L
清屏与clear功能一样
^R
搜索历史命令,可以利用好关键词
!$ 引用上一个命令的最后一个参数:
[root@CHENDAJIE ~]# cat /etc/passwd #此时参数为/etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
...
[root@CHENDAJIE ~]# cat !$ #使用!$调用上一个参数
cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
...
补全命令使用tab键,Tab只能补全命令和文件