linux笔记(一)

man命令

当不清楚命令参数的时候,可以使用man来获取帮助,man总共有9章

  • 标准用户命令(Executable programs or shell commands)
  • 系统调用(System calls)functions provided by the kernel
  • 库调用(Library call)functions within program libraries
  • 特殊文件(设备文件)的访问入口(/dev)Special files (usually found in /dev)
  • 文件格式(配置文件的语法),指定程序的运行特性 File formats and conventions 
  • 游戏(Games)
  • 杂项(Miscellaneous)including macro packages and conventions
  • 管理命令 System administration commands
  • 跟kernel有关的文件 Kernel routines

操作如下

1
2
3
4
5
6
7
8
[kuan@localhost ~]# man ls
这里显示的就是ls的详细介绍
翻屏查看
向后翻一行 Enter(回车键) 向后翻一屏 Space(空格)
向前翻一行 k 向前翻一屏 b
查找关键词
/要查找的词 向后查找 下一个 n(小写)
?要查找的词 向前查找 前一个 N(大写)

退出 q

获取不同章节的帮助

man后面跟章节数

1
[kuan@localhost ~]# man  1 ls

help帮助命令

内部命令使用

help cd

外部命令使用

ls –help

可以使用type查看命令,区分是否为外部命令

1
2
3
4
[kuan@localhost ~]$ type cd
cd is a shell builtin #这里说明是内部命令
[kuan@localhost ~]$ type ls
ls is aliased to `ls --color=auto' #这里说明是外部命令

显示当前目录名称 pwd

1
2
[kuan@localhost ~]$ pwd
/home/kuan

更改当前操作目录

cd /path/to/… 绝对路径

cd ./path/to/… 相对路径

cd ../path/to/…相对路径

cd .. 返回上一级目录

cd / 返回根目录

cd - 可以回到上次文件地址

1
2
[root@localhost /]# cd -
/root

文件查看

ls 参数 [文件名]

1
2
3
4
5
[kuan@localhost /]$ ls /
bin cgroup etc lib lost+found mnt proc sbin srv tmp var
boot dev home lib64 media opt root selinux sys usr
[root@localhost ~]# ls /root
anaconda-ks.cfg install.log install.log.syslog

-l 长格式显示文件

1
2
3
4
5
[root@localhost ~]# ls -l /root
total 60
-rw-------. 1 root root 3327 Jun 27 2019 anaconda-ks.cfg
-rw-r--r--. 1 root root 39965 Jun 27 2019 install.log
-rw-r--r--. 1 root root 9346 Jun 27 2019 install.log.syslog

-a 显示隐藏文件

1
2
3
4
5
[root@localhost ~]# ls -a
. .bash_logout install.log .viminfo
.. .bash_profile install.log.syslog .xauth8jbood
anaconda-ks.cfg .bashrc .pki .xauthvMgWlv
.bash_history .cshrc .tcshrc .xauthyqVAK0

-r 逆序显示

1
2
3
4
5
[root@localhost ~]# ls -lr
total 60
-rw-r--r--. 1 root root 9346 Jun 27 2019 install.log.syslog
-rw-r--r--. 1 root root 39965 Jun 27 2019 install.log
-rw-------. 1 root root 3327 Jun 27 2019 anaconda-ks.cfg

-t 按照时间顺序显示

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@localhost /]# ls -lt
total 102
dr-xr-x---. 3 root root 4096 Mar 16 18:38 root
drwxrwxrwt. 26 root root 4096 Mar 16 18:38 tmp
drwxr-xr-x. 107 root root 12288 Mar 16 18:14 etc
drwxr-xr-x. 19 root root 3800 Mar 16 18:14 dev
drwxr-xr-x. 7 root root 0 Mar 16 18:14 selinux
drwxr-xr-x 13 root root 0 Mar 16 18:14 sys
dr-xr-xr-x. 164 root root 0 Mar 16 18:14 proc
dr-xr-xr-x. 2 root root 12288 Mar 12 19:40 sbin
dr-xr-xr-x. 2 root root 4096 Mar 12 19:40 bin
dr-xr-xr-x. 9 root root 12288 Mar 12 19:40 lib64
dr-xr-xr-x. 5 root root 1024 Mar 12 18:13 boot

新建目录

mkdir [选项] 目录

1
2
3
4
5
[kuan@localhost ~]$ ls
sudo 公共的 模板 视频 图片 文档 下载 音乐 桌面
[kuan@localhost ~]$ mkdir a
[kuan@localhost ~]$ ls
a sudo 公共的 模板 视频 图片 文档 下载 音乐 桌面

建立多个目录

1
2
3
[kuan@localhost ~]$ mkdir b c d
[kuan@localhost ~]$ ls
a b c d sudo 公共的 模板 视频 图片 文档 下载 音乐 桌面

如果新建的目录存在会提示

1
2
[kuan@localhost ~]$ mkdir a
mkdir: 无法创建目录"a": 文件已存在

创建多级目录

1
2
3
4
5
6
7
8
9
[kuan@localhost ~]$ mkdir -p a/b/c/d
[kuan@localhost ~]$ ls -R a
a:
b
a/b:
c
a/b/c:
d
a/b/c/d:

删除目录

rmdir [选项] 目录(只能删除空目录)

1
2
[kuan@localhost ~]$ rmdir a
rmdir: 删除 "a" 失败: 目录非空

rm [选项] 目录

删除该目录下的所有目录层

rm -r

1
2
3
[kuan@localhost ~]$ rm -r a
[kuan@localhost ~]$ ls
b c d sudo 公共的 模板 视频 图片 文档 下载 音乐 桌面

rm -rf 目录 (不进行询问直接删除)

文件拷贝

cp [选项] 文件 路径

1
2
[kuan@localhost ~]$ cp  b /tmp
cp: 略过目录"b"

默认不能复制目录,需要加-r选项

1
2
3
4
5
6
7
[kuan@localhost ~]$ cp -r b /tmp
[kuan@localhost ~]$ ll /tmp
总用量 100
drwxrwxr-x. 2 kuan kuan 4096 3月 18 19:35 b
-rw-r--r--. 1 root root 1860 3月 18 19:01 _cafenv-appconfig_
drwx------. 2 gdm gdm 4096 3月 18 19:02 gconfd-gdm
drwx------. 2 kuan kuan 4096 3月 18 19:22 gconfd-kuan

移动文件夹或重命名

mv [选项] 源文件或目录 目标文件或目录

  • 重命名

    1
    2
    3
    4
    5
    [kuan@localhost ~]$ ls
    b c d sudo 公共的 模板 视频 图片 文档 下载 音乐 桌面
    [kuan@localhost ~]$ mv b mvb
    [kuan@localhost ~]$ ls
    c d mvb sudo 公共的 模板 视频 图片 文档 下载 音乐 桌面
  • 移动

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    [kuan@localhost ~]$ ls
    c d mvb sudo 公共的 模板 视频 图片 文档 下载 音乐 桌面
    [kuan@localhost ~]$ mv mvb /tmp
    [kuan@localhost ~]$ ls /tmp
    _cafenv-appconfig_ keyring-MUCMEM pulse-xVZFhgfE23EQ
    gconfd-gdm keyring-VPf9jg virtual-kuan.2YznaL
    gconfd-kuan keyring-Wde5eH virtual-kuan.4igrAY
    gnome-system-monitor.kuan.4182918189 keyring-yGak07 virtual-kuan.5HwO0I
    keyring-4Bgj8h keyring-ZCMxsu virtual-kuan.dIMKCx
    keyring-6g3U9d mvb VMwareDnD
    keyring-jEqIeh orbit-gdm vmware-kuan
    keyring-khg0bS orbit-kuan vmware-root
    keyring-LyKAUy pulse-pxUfUP0emMvS
  • 移动时重命名

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    [kuan@localhost ~]$ ls /tmp
    _cafenv-appconfig_ keyring-MUCMEM pulse-xVZFhgfE23EQ
    gconfd-gdm keyring-VPf9jg virtual-kuan.2YznaL
    gconfd-kuan keyring-Wde5eH virtual-kuan.4igrAY
    gnome-system-monitor.kuan.4182918189 keyring-yGak07 virtual-kuan.5HwO0I
    keyring-4Bgj8h keyring-ZCMxsu virtual-kuan.dIMKCx
    keyring-6g3U9d mvb VMwareDnD
    keyring-jEqIeh orbit-gdm vmware-kuan
    keyring-khg0bS orbit-kuan vmware-root
    keyring-LyKAUy pulse-pxUfUP0emMvS
    [kuan@localhost ~]$ mv /tmp/mvb /home/kuan/mvbb
    [kuan@localhost ~]$ ls
    c d mvbb sudo 公共的 模板 视频 图片 文档 下载 音乐 桌面

文本查看

  • cat [参数] 文件名 (显示文本所有内容)
    1
    2
    3
    4
    5
    6
    [kuan@localhost ~]$ cat demo
    1
    2
    3
    4
    5
  • head [参数] 文件名(显示文件的开头部分,默认十行)

head -6(行数) demo

  • tail [参数] 文件名 (显示末尾部分,默认十行)

    tail -6(行数) demo

    tail -f demo (文件内容更改后,显示信息同步更新)

wc -l demo(查看文章行数)

1
2
[kuan@localhost ~]$ wc -l demo
9 demo

文件打包压缩

tar [选项] [文件..]

-c 创建新的文档

-f 要操作的文件名

  • 文件打包
    1
    2
    3
    4
    [root@localhost ~]# tar cf /tmp/ect-backup.tar /etc
    tar: Removing leading `/' from member names
    [root@localhost ~]# ls -l /tmp/etc-backup.tar
    -rw-rw-r--. 1 kuan kuan 24145920 Mar 19 01:59 /tmp/etc-backup.tar
  • 打包并压缩(gz压缩和bz2压缩)
    1
    2
    3
    4
    5
    6
    7
    8
    [root@localhost ~]# tar czf /tmp/ect-backup.tar.gz /etc     (gz压缩)
    tar: Removing leading `/' from member names
    [root@localhost ~]# tar cjf /tmp/ect-backup.tar.bz2 /etc (bz2压缩)
    tar: Removing leading `/' from member names
    [root@localhost ~]# ls -lh /tmp/ect-backup.tar*
    -rw-r--r--. 1 root root 36M Mar 19 02:01 /tmp/ect-backup.tar
    -rw-r--r--. 1 root root 8.7M Mar 20 01:19 /tmp/ect-backup.tar.bz2
    -rw-r--r--. 1 root root 11M Mar 20 01:19 /tmp/ect-backup.tar.gz
  • __ 解压缩__
1
2
3
[root@localhost ~]# tar xf /tmp/etc-backup.tar -C  /root
[root@localhost ~]# ls /root
anaconda-ks.cfg etc install.log install.log.syslog