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常用命令的主要内容,如果未能解决你的问题,请参考以下文章
markdown [Docker] Docker片段列表和命令#linux #docker #snippets
Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段