Linux常用命令

Posted 还行少年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux常用命令相关的知识,希望对你有一定的参考价值。

查看主机名 hostname

[root@localhost ~]# hostname
localhost.localdomain

修改主机名 hostname XX

[root@localhost ~]# hostname XX
[root@localhost ~]# hostname
XX

查看网卡信息 ifconfig

[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.177.3  netmask 255.255.255.0  broadcast 192.168.177.255
        inet6 fe80::7d24:efd8:b2bf:3587  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:d2:ba:b2  txqueuelen 1000  (Ethernet)
        RX packets 847  bytes 63127 (61.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 175  bytes 16073 (15.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


查看网关信息 route -n

[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.177.2   0.0.0.0         UG    100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.177.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33


查看当前所处路径 pwd

[root@localhost ~]# pwd
/root

查看linux内部命令 enable

[root@localhost ~]# enable 
enable .
enable :
enable [
enable alias
enable bg
enable bind
enable break
enable builtin

查看命令类型 type

[root@localhost ~]# type find
find 是 /usr/bin/find     --外部命令
[root@localhost ~]# type type
type 是 shell 内嵌       --内部命令

查看命令路径 which

[root@localhost ~]# which type
/usr/bin/which: no type in (/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:
/bin:/sbin:/root/bin)     --内部命令无路径
[root@localhost ~]# which find
/usr/bin/find

内部命令解析 help name

[root@localhost ~]# help type
type: type [-afptP] 名称 [名称 ...]
    显示命令类型的信息。
    
    对于每一个 NAME 名称,指示如果作为命令它将如何被解释。
    
    选项:
      -a	显示所有包含名称为 NAME 的可执行文件的位置;
    	包括别名、内嵌和函数。仅当 `-p' 选项没有使用时
      -f	抑制 shell 函数查询
      -P	为每个 NAME 名称惊醒 PATH 路径搜索,即使它是别名、
    	内嵌或函数,并且返回将被执行的磁盘上文件的名称。
      -p	返回将被执行的磁盘上文件的名称,或者当 `type -t NAME'
    	不返回 `file' 时,不返回任何值。
      -t	返回下列词中的任何一个`alias'`keyword'、
    	`function'、`builtin'、`file'或者`',如果 NAME 是相应的
    	一个别名、shell 保留字、shell 函数、shell 内嵌、
    	磁盘文件或没有找到。
    
    参数:
      NAME	将要解析的命令。
    
    退出状态:
    如果所有的 NAME 命令都找到则返回成功;任何找不到则失败。
typeset: typeset [-aAfFgilrtux] [-p] name[=value] ...
    设置变量的值和属性。
    
    废弃。参见 `help declare'


外部命令解析 NAME --help

[root@localhost ~]# find --help
用法: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]

默认路径为当前目录;默认表达式为 -print
表达式可能由下列成份组成:操作符、选项、测试表达式以及动作:

操作符 (优先级递减;未做任何指定时默认使用 -and):
      ( EXPR )   ! EXPR   -not EXPR   EXPR1 -a EXPR2   EXPR1 -and EXPR2
      EXPR1 -o EXPR2   EXPR1 -or EXPR2   EXPR1 , EXPR2

positional options (always true): -daystart -follow -regextype

normal options (always true, specified before other expressions):
      -depth --help -maxdepth LEVELS -mindepth LEVELS -mount -noleaf
      --version -xautofs -xdev -ignore_readdir_race -noignore_readdir_race

比较测试 (N 可以是 +N 或 -N 或 N): -amin N -anewer FILE -atime N -cmin N
      -cnewer 文件 -ctime N -empty -false -fstype 类型 -gid N -group 名称
      -ilname 匹配模式 -iname 匹配模式 -inum N -ipath 匹配模式 -iregex 匹配模式
      -links N -lname 匹配模式 -mmin N -mtime N -name 匹配模式 -newer 文件
      -nouser -nogroup -path PATTERN -perm [-/]MODE -regex PATTERN
      -readable -writable -executable
      -wholename PATTERN -size N[bcwkMG] -true -type [bcdpflsD] -uid N
      -used N -user NAME -xtype [bcdpfls]
      -context 文本


操作: -delete -print0 -printf 格式 -fprintf 文件 格式 -print 
      -fprint0 文件 -fprint 文件 -ls -fls 文件 -prune -quit
      -exec 命令 ; -exec 命令 {} + -ok 命令 ;
      -execdir 命令 ; -execdir 命令 {} + -okdir 命令 ;

通过 findutils 错误报告页 http://savannah.gnu.org/ 报告错误及跟踪修定过程。如果您无法浏览网页,请发电子邮件至 <bug-findutils@gnu.org>

切换目录 cd

[root@localhost ~]# cd /

返回上一级目录 cd ..

[root@localhost /]# cd ..

返回到上一次执行cd命令的路径 cd -

[root@localhost opt]# cd -
/
[root@localhost /]# 


显示当前目录下的文件 ls

[root@localhost /]# ls
bin   dev  home  lib64  opt   root  sbin  tmp  var
boot  etc  lib   mnt    proc  run   sys   usr

长格式显示文件 ll(ls -l)

[root@localhost /]# ll
总用量 28
lrwxrwxrwx.   1 root root    7 3月  24 23:28 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 4月  26 13:59 boot
drwxr-xr-x.  20 root root 3380 4月  26 16:50 dev
drwxr-xr-x. 145 root root 8192 4月  26 16:50 etc
drwxr-xr-x.   3 root root   18 4月  26 16:29 home
lrwxrwxrwx.   1 root root    7 3月  24 23:28 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 3月  24 23:28 lib64 -> usr/lib64
drwxr-xr-x.   3 root root   18 4月  26 13:54 mnt
drwxr-xr-x.   4 root root   51 4月  26 16:11 opt
dr-xr-xr-x. 244 root root    0 4月  26 16:50 proc
dr-xr-x---.   8 root root 4096 4月  26 16:51 root
drwxr-xr-x.  44 root root 1280 4月  26 16:51 run
lrwxrwxrwx.   1 root root    8 3月  24 23:28 sbin -> usr/sbin
dr-xr-xr-x.  13 root root    0 4月  26 16:50 sys
drwxrwxrwt.  29 root root 4096 4月  26 18:43 tmp
drwxr-xr-x.  13 root root  155 3月  24 23:28 usr
drwxr-xr-x.  21 root root 4096 3月  24 23:35 var
[root@localhost /]# 

显示隐藏文件 ls -a

[root@localhost ~]# ls
aa  anaconda-ks.cfg  initial-setup-ks.cfg
[root@localhost ~]# ls -a
.                .bash_profile  .dbus                 .local
..               .bashrc        .esd_auth             .ssh
aa               .bashrc.swp    .gnupg                .tcshrc
anaconda-ks.cfg  .cache         .ICEauthority         .Xauthority
.bash_history    .config        initial-setup-ks.cfg
.bash_logout     .cshrc         .lesshst
[root@localhost ~]# 


人性化显示文件 ls -lh

[root@localhost /]# ls -lh
总用量 28K
lrwxrwxrwx.   1 root root    7 3月  24 23:28 bin -> usr/bin
dr-xr-xr-x.   5 root root 4.0K 4月  26 13:59 boot
drwxr-xr-x.  20 root root 3.4K 4月  26 16:50 dev
drwxr-xr-x. 145 root root 8.0K 4月  26 16:50 etc
drwxr-xr-x.   3 root root   18 4月  26 16:29 home
lrwxrwxrwx.   1 root root    7 3月  24 23:28 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 3月  24 23:28 lib64 -> usr/lib64
drwxr-xr-x.   3 root root   18 4月  26 13:54 mnt
drwxr-xr-x.   4 root root   51 4月  26 16:11 opt
dr-xr-xr-x. 244 root root    0 4月  26 16:50 proc
dr-xr-x---.   8 root root 4.0K 4月  26 16:51 root
drwxr-xr-x.  44 root root 1.3K 4月  26 16:51 run
lrwxrwxrwx.   1 root root    8 3月  24 23:28 sbin -> usr/sbin
dr-xr-xr-x.  13 root root    0 4月  26 16:50 sys
drwxrwxrwt.  29 root root 4.0K 4月  26 18:43 tmp
drwxr-xr-x.  13 root root  155 3月  24 23:28 usr
drwxr-xr-x.  21 root root 4.0K 3月  24 23:35 var

递归显示文件 ls -R

[root@localhost home]# ls -R
.:
tvxq

./tvxq:
公共  模板  视频  图片  文档  下载  音乐  桌面

./tvxq/公共:

./tvxq/模板:

./tvxq/视频:

./tvxq/图片:

./tvxq/文档:

./tvxq/下载:

./tvxq/音乐:

./tvxq/桌面:

区分文件和目录 ls -F

[root@localhost /]# ls -F
1     boot/  etc/   lib@    mnt/  proc/  run/   sys/  usr/
bin@  dev/   home/  lib64@  opt/  root/  sbin@  tmp/  var/


查看别名 alias

[root@localhost /]# 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@localhost /]# 

设置别名 alias myls=‘ls -lh’

[root@localhost /]# alias myls='ls -lh'
[root@localhost /]# myls
总用量 28K
-rw-r--r--.   1 root root    0 4月  26 18:52 1
lrwxrwxrwx.   1 root root    7 3月  24 23:28 bin -> usr/bin
dr-xr-xr-x.   5 root root 4.0K 4月  26 13:59 boot
drwxr-xr-x.  20 root root 3.4K 4月  26 16:50 dev
drwxr-xr-x. 145 root root 8.0K 4月  26 16:50 etc
drwxr-xr-x.   3 root root   18 4月  26 16:29 home
lrwxrwxrwx.   1 root root    7 3月  24 23:28 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 3月  24 23:28 lib64 -> usr/lib64
drwxr-xr-x.   3 root root   18 4月  26 13:54 mnt
drwxr-xr-x.   4 root root   51 4月  26 16:11 opt
dr-xr-xr-x. 244 root root    0 4月  26 16:50 proc
dr-xr-x---.   8 root root 4.0K 4月  26 16:51 root
drwxr-xr-x.  44 root root 1.3K 4月  26 16:51 run
lrwxrwxrwx.   1 root root    8 3月  24 23:28 sbin -> usr/sbin
dr-xr-xr-x.  13 root root    0 4月  26 16:50 sys
drwxrwxrwt.  29 root root 4.0K 4月  26 18:53 tmp
drwxr-xr-x.  13 root root  155 3月  24 23:28 usr
drwxr-xr-x.  21 root root 4.0K 3月  24 23:35 var
[root@localhost /]# 

永久保存别名 需要写进 .bashrc
在这里插入图片描述

创建目录 mkdir XX

[root@localhost ~]# mkdir XX
[root@localhost ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  XX
[root@localhost ~]# 

递归创建目录 mkdir -p aa/bb/cc

[root@localhost ~]# mkdir -p aa/bb/cc
[root@localhost ~]# tree
.
├── aa
│   └── bb
│       └── cc
├── anaconda-ks.cfg
├── initial-setup-ks.cfg
└── XX

4 directories, 2 files
[root@localhost ~]# 

删除空目录 rmdir

[root@localhost bb]# ls
cc
[root@localhost bb]# rmdir cc
[root@localhost bb]# ls
[root@localhost bb]# 

创建文件 touch

[root@localhost bb]# touch 1
[root@localhost bb]# ls
1
[root@localhost bb]# ll
总用量 0
-rw-r--r--. 1 root root 0 4月  26 19:08 1
[root@localhost bb]# 

删除文件 rm -rf

[root@localhost ~]# ls
aa  anaconda-ks.cfg  initial-setup-ks.cfg
[root@localhost ~]# rm -rf aa
[root@localhost ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg
[root@localhost ~]# 


复制文件 cp 1 /opt/111

[root@XX ~]# touch 1
[root@XX ~]# 
[root@XX ~]# ls
1  11  anaconda-ks.cfg  initial-setup-ks.cfg
[root@XX ~]# 
[root@XX ~]# 
[root@XX ~]# cp 1 /opt/111
[root@XX ~]# cd /opt/
[root@XX opt]# 1
bash: 1: 未找到命令...
[root@XX opt]# ls
1  111  rh

递归复制目录并改名 cd -r

[root@XX opt]# cp -r /root/11 /opt/1
[root@XX opt]# cd /opt/
[root@XX opt]# ls
1  rh

移动文件或目录 mv

[root@XX ~]# ls
1  11  anaconda-ks.cfg  initial-setup-ks.cfg
[root@XX ~]# mv 1 /opt/22
[root@XX ~]# ls
11  anaconda-ks.cfg  initial-setup-ks.cfg
[root@XX ~]# ls /opt
1  111  22  rh
[root@XX ~]# 


按名称在根目录下查找 find / -name

[root@XX ~]# touch  xxx
[root@XX ~]# 
[root@XX ~]# 
[root@XX ~]# 
[root@XX ~]# find / -name xxx
/root/xxx
[root@XX ~]# 

按时间和名称在根目录下查找 find / -mtime

[root@XX ~]# find / -mtime -1  -name xxx
/root/xxx

按文件大小和名称在根目录下查找 find / -size -5 -name

[root@XX ~]# find / -size -5 -name xxx
/root/xxx

按文件类型和名称在根目录下查找 find / -type f -name

[root@XX ~]# find / -type  f  -name xxx
/root/xxx
[root@XX ~]# 

以上是关于Linux常用命令的主要内容,如果未能解决你的问题,请参考以下文章

linux中怎么查看mysql数据库版本

Linux常用文件管理命令

markdown [Docker] Docker片段列表和命令#linux #docker #snippets

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

C#常用代码片段备忘

常用python日期日志获取内容循环的代码片段