1.Linux常用命令(一)
1.查询帮助命令
man 命令 查询命令帮助手册
- -f 关键字精确搜索
man -f == whatis - -k关键字模糊搜索
man -k == appropos
whatis和apropos命令都需要依靠whatis数据库进行实现,whatis数据库可在主机联网的情况下使用makewhatis创建和更新whatis数据库 |
[root@aspen ~]# man tree
TREE(1) General Commands Manual TREE(1)
NAME #命令简介
tree - list contents of directories in a tree-like format.
SYNOPSIS #命令格式
tree [-acdfghilnpqrstuvxACDFQNSUX] [-L level [-R]] [-H
baseHREF] [-T title] [-o filename] [--nolinks] [-P pattern]
[-I pattern] [--inodes] [--device] [--noreport] [--dirsfirst]
[--version] [--help] [--filelimit #] [--si] [--prune] [--du]
[--timefmt format] [directory ...]
DESCRIPTION #命令的详细描述
Tree is a recursive directory listing program that produces a
depth indented listing of files, which is colorized ala dir‐
colors if the LS_COLORS environment variable is set and out‐
put is to tty. With no arguments, tree lists the files in
the current directory. When directory arguments are given,
tree lists all the files and/or directories found in the
given directories each in turn. Upon completion of listing
[root@aspen ~]# man -f tree
tree (1) - list contents of directories in a tree-like ...
help 系统内置命令 获取bash内置命令帮助手册
[root@aspen ~]# help exit
exit: exit [n]
Exit the shell.
Exits the shell with a status of N. If N is omitted, the exit status
is that of the last command executed.
命令 --help 使用命令帮助参数获取命令帮助
[root@aspen ~]# vim --help
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Oct 30 2018 19:56:57)
usage: vim [arguments] [file ..] edit specified file(s)
or: vim [arguments] - read text from stdin
or: vim [arguments] -t tag edit file where tag is defined
or: vim [arguments] -q [errorfile] edit file with first error
Arguments:
-- Only file names after this
-v Vi mode (like "vi")
-e Ex mode (like "ex")
-E Improved Ex mode
-s Silent (batch) mode (only for "ex")
-d Diff mode (like "vimdiff")
-y Easy mode (like "evim", modeless)
......
--startuptime <file> Write startup timing messages to <file>
-i <viminfo> Use <viminfo> instead of .viminfo
-h or --help Print Help (this message) and exit
--version Print version information and exit
info 命令 查询命令详细的帮助手册
[root@aspen ~]# info help
File: *manpages*, Node: help, Up: (dir)
BASH_BUILTINS(1) General Commands Manual BASH_BUILTINS(1)
NAME
bash, :, ., [, alias, bg, bind, break, builtin, caller, cd, command,
compgen, complete, compopt, continue, declare, dirs, disown, echo,
enable, eval, exec, exit, export, false, fc, fg, getopts, hash, help,
history, jobs, kill, let, local, logout, mapfile, popd, printf, pushd,
pwd, read, readonly, return, set, shift, shopt, source, suspend, test,
times, trap, true, type, typeset, ulimit, umask, unalias, unset, wait -
bash built-in commands, see bash(1)
BASH BUILTIN COMMANDS
Unless otherwise noted, each builtin command documented in this section
as accepting options preceded by - accepts -- to signify the end of the
options. The :, true, false, and test builtins do not accept options
and do not treat -- specially. The exit, logout, break, continue, let,
and shift builtins accept and process arguments beginning with - with‐
out requiring --. Other builtins that accept arguments but are not
specified as accepting options interpret arguments beginning with - as
invalid options and require -- to prevent this interpretation.
: [arguments]
No effect; the command does nothing beyond expanding arguments
and performing any specified redirections. A zero exit code is
returned.
. filename [arguments]
......
-----Info: (*manpages*)help, 1646 lines --Top---------------------------------------------------------------------------
No `Prev' or `Up' for this node within this document.
2.内置命令及其他
yum install 软件名 从网络上安装软件
- -y 安装过程中遇到的确认选项自动选为yes;
yum grouplist 查看系统已安装的软件包
yum groupinstall 软件包名 安装指定的软件包
yum provides 命令 查看已安装命令所属软件包
yum repolist 查询系统所使用的YUM源**
[root@aspen ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
repo id repo name status
base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com 10,019
!epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,174
extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com 413
updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com 1,862
repolist: 25,468
[root@aspen ~]# yum provides ifconfig
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
net-tools-2.0-0.24.20131004git.el7.x86_64 : Basic networking tools
Repo : @base
Matched from:
Filename : /usr/sbin/ifconfig
新装系统建议安装的三个常用功能: tree 以树形模式显示目录结构/内存 vim 文本编辑器(vi编辑器的升级版) bash-completion Linux下自动补全命令参数工具 |
rpm 软件包名 RPM包管理命令
- -i 安装指定软件包
- -v 显示安装过程
- -h 以认可读形式显示
- -q 查询软件包(通常用于查看系统下还未安装的软件包)
- -a 查询所有已安装的软件包
- -l 显示软件包文件列表
- -f 查询拥有指定文件的套件
- -e 卸载指定软件包
-ivh 通常组合使用,用于安装软件 -qa 组合使用,查看系统所有已安装软件包 -ql 组合使用,查看指定软件包内文件列表 -qf 组合使用,查看指定文件或命令所属软件包 |
[root@aspen ~]# rpm -ivh /mnt/Packages/telnet-0.17-64.el7.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:telnet-1:0.17-64.el7 ################################# [100%]
Linux系统下安装按软件的三种方式 1.YUM安装:网络自动安装,系统自动解决软件间依赖关系问题 2.rpm安装:使用RPM软件包安装,手动解决软件间依赖关系问题 3.make安装:编译安装 step1:/configure
step2:make
step3:make install
|
xargs 命令 将标准输入转换成命令行参数
- -n数字 表示命令在执行的时候一次用的参数的个数(默认是用所有的)
xargs命令后面不支持别名,常与管道配合使用 |
[root@aspen ~]# cat ./num.txt
1 2 3 4 5 6 7 8 9 10
[root@aspen ~]# xargs -n1 < ./num.txt
1
2
3
4
5
6
7
8
9
10
echo 内容 显示内容信息到屏幕
- -e 显示内容时,支持转义字符
- -n 显示内容时,不显示每行结尾的回车标识符
[root@aspen ~]# echo -e '123456\n123456\n123456'
123456
123456
123456
[root@aspen ~]# echo PS1
PS1
[root@aspen ~]# echo $PS1
[\u@\h \W]\$
[root@aspen ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@aspen ~]# echo -n $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin[root@aspen ~]#
alias 别名='命令 -选项 参数' 查看/设置系统别名
alias 默认查看系统所有别名 |
[root@aspen ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@aspen ~]# alias ld='ls -ld --color=auto'
[root@aspen ~]# ld /
dr-xr-xr-x. 19 root root 253 May 10 21:07 /
unalias 取消系统别名
unalias ld
[root@aspen ~]# ld /
/: file not recognized: Is a directory
blkid 查看系统块设备UUID
[root@aspen ~]# blkid
/dev/sda1: UUID="ed50c0d5-412a-4c9d-9718-fc0c26e29cb1" TYPE="xfs"
/dev/sda2: UUID="7cf733af-f4be-4eca-be4f-83cde65d7dfa" TYPE="swap"
/dev/sda3: UUID="b1295302-6765-4999-8f5a-458e2928baeb" TYPE="xfs"
/dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
history 查看命令执行的历史纪录
- -d 行号 删除历史命令记录中的指定行内容
- -w 保存历史命令记录到历史文件( ~/.bash_history )
- -c 清空历史命令记录
[root@aspen ~]# history | tail -5
1160 echo -e '123456\n123456\t123456'
1161 echo -e '123456\n123456\n123456'
1162 history
1163 history | tail -10
1164 history | tail -5
[root@aspen ~]# history -c
[root@aspen ~]# history
166 history
!行号 #调用并执行历史命令记录中第n行记录的命令 !命令 #调用并执行历史命令记录中最近一次执行的该命令 |
[root@Tech ~]#history
1 ping jd.com
2 ping baidu.com
3 ls /tmp -l
4 cd /tmp
5 cd ~
6 history
[root@Tech ~]#!4
cd /tmp
[root@Tech /tmp]#!ping
ping baidu.com
PING baidu.com (220.181.38.148) 56(84) bytes of data.
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=1 ttl=128 time=6.31 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=2 ttl=128 time=18.2 ms
^C
--- baidu.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 4ms
rtt min/avg/max/mdev = 6.313/12.239/18.165/5.926 ms
[root@Tech /tmp]#!5
cd ~
[root@Tech ~]#
sh 脚本文件 执行脚本
- -x 显示脚本执行过程
[root@aspen scripts]# ./bak-etc-cron.sh
-bash: ./bak-etc-cron.sh: Permission denied
[root@aspen scripts]# sh -x ./bak-etc-cron.sh
++ hostname -I
++ awk '{print $1}'
+ mkdir -p /backup/10.0.0.200
++ awk '{print $1}'
++ hostname -I
++ date +%F-%w
+ tar zcf /backup/10.0.0.200/bak-2019-05-13-1.tar.gz /etc/ /var/spool/cron/
tar: Removing leading `/' from member names
+ find /backup/ -type f -mtime +7 -iname '*-[^1].tar.gz'
+ xargs rm
rm: missing operand
Try 'rm --help' for more information.
[root@aspen scripts]# cat ./bak-etc-cron.sh
#!/bin/bash
mkdir -p /backup/`hostname -I |awk '{print $1}'`&& tar zcf /backup/`hostname -I|awk '{print $1}'`/bak-`date +%F-%w`.tar.gz /etc/ /var/spool/cron/ && find /backup/ -type f -mtime +7 -iname '*-[^1].tar.gz' |xargs rm
[root@aspen scripts]# ls /backup/10.0.0.200
bak-2019-05-13-1.tar.gz
ldd /目录/命令 查询命令依赖的库文件
ldd命令需要使用命令的路径。 |
[root@Tech ~]#ldd /usr/bin/cp
linux-vdso.so.1 (0x00007fff588da000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f79d9a08000)
libacl.so.1 => /lib64/libacl.so.1 (0x00007f79d97ff000)
libattr.so.1 => /lib64/libattr.so.1 (0x00007f79d95f9000)
libc.so.6 => /lib64/libc.so.6 (0x00007f79d9234000)
libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007f79d8fb0000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f79d8dac000)
/lib64/ld-linux-x86-64.so.2 (0x00007f79d9e56000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f79d8b8c000)
Linux命令要养成操作前备份,操作后检查的好习惯
未完待续...