Linux 常用命令整理

Posted llife

tags:

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

整理常用的linux命令,用于熟悉记忆。


[root@localhost ~]

root:当前用户

localhost:主机名

~:当前所在位置

符号#:管理员

符号$:普通用户

命令字 [选项] [参数]

短格式选项-字母

长格式选项--单词

Tab:自动补齐

\:强制换行

Ctrl + u:清空至行首

Ctrl + k:清空至行尾

Ctrl + l:清屏

Ctrl + c:中断

帮助手册

--help 法:ls --help

man 法:man ls

Linux 系统文件和目录管理

Linux 系统目录结构

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

/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。

/boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

/dev:dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

/etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。

/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

/lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

/media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

/opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

/root:该目录为系统管理员,也称作超级权限者的用户主目录。

/tmp:这个目录是用来存放一些临时文件的。

/usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

目录和文件管理命令

pwd:显示目前的目录

[root@localhost ~]# pwd
/root

cd:切换目录

[root@localhost ~]# cd /etc/
[root@localhost etc]# pwd
/etc
[root@localhost etc]# cd ..
[root@localhost /]# pwd
/
[root@localhost /]# cd -
/etc
[root@localhost etc]# cd
[root@localhost ~]# pwd
/root

ls: 列出目录

[root@localhost ~]# ls
anaconda-ks.cfg
[root@localhost ~]# ls -a
.  ..  anaconda-ks.cfg  .bash_history  .bash_logout  .bash_profile  .bashrc  .cshrc  .tcshrc
[root@localhost ~]# ls -A
anaconda-ks.cfg  .bash_history  .bash_logout  .bash_profile  .bashrc  .cshrc  .tcshrc
[root@localhost ~]# ls -l
total 4
-rw-------. 1 root root 1253 May 24 13:48 anaconda-ks.cfg
[root@localhost ~]# ls -al
total 28
dr-xr-x---.  2 root root  135 May 24 13:49 .
dr-xr-xr-x. 17 root root  224 May 24 13:47 ..
-rw-------.  1 root root 1253 May 24 13:48 anaconda-ks.cfg
-rw-------.  1 root root   13 May 24 13:49 .bash_history
-rw-r--r--.  1 root root   18 Dec 29  2013 .bash_logout
-rw-r--r--.  1 root root  176 Dec 29  2013 .bash_profile
-rw-r--r--.  1 root root  176 Dec 29  2013 .bashrc
-rw-r--r--.  1 root root  100 Dec 29  2013 .cshrc
-rw-r--r--.  1 root root  129 Dec 29  2013 .tcshrc

mkdir:创建一个新的目录

[root@localhost ~]# mkdir test
[root@localhost ~]# ls
anaconda-ks.cfg  test
[root@localhost ~]# mkdir test1 test2
[root@localhost ~]# ls
anaconda-ks.cfg  test  test1  test2
[root@localhost ~]# mkdir -p test3/test4
[root@localhost ~]# ls
anaconda-ks.cfg  test  test1  test2  test3
[root@localhost ~]# ls test3
test4

touch:建立空文件或修改时间戳

[root@localhost ~]# touch test.txt
[root@localhost ~]# ls
anaconda-ks.cfg  test.txt

rm:删除文件或目录

[root@localhost ~]# ls
anaconda-ks.cfg  test1  test1.txt  test2  test2.txt
[root@localhost ~]# rm -r test1
rm: remove directory ‘test1’? y
[root@localhost ~]# rm -rf test2
[root@localhost ~]# rm test1.txt
rm: remove regular empty file ‘test1.txt’? y
[root@localhost ~]# rm -f test2.txt
[root@localhost ~]# ls
anaconda-ks.cfg

cp:复制文件或目录

[root@localhost ~]# ls
anaconda-ks.cfg  test1  test2  test.txt
[root@localhost ~]# cp test.txt test1
[root@localhost ~]# ls test1
test.txt
[root@localhost ~]# cp -r test1 test2
[root@localhost ~]# ls -R test2
test2:
test1

test2/test1:
test.txt

mv:移动文件或目录、改名

[root@localhost ~]# ls
anaconda-ks.cfg  test  test1.txt
[root@localhost ~]# mv test1.txt test.txt
[root@localhost ~]# ls
anaconda-ks.cfg  test  test.txt
[root@localhost ~]# mv test.txt test
[root@localhost ~]# ls
anaconda-ks.cfg  test
[root@localhost ~]# ls test/
test.txt

cat:显示文件内容

[root@localhost ~]# cat test.txt
这是一个测试文件

find:文件或目录查找命令

[root@localhost ~]# find /root/ -name "test*"
/root/test
/root/test.txt

grep:文件内容查询命令

[root@localhost ~]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

history:查看命令历史记录

[root@localhost ~]# history
    1  shutdown now
    2  ls /

vi 和 vim

  • vi/vim 工作模式

技术图片

  • vi/vim 键盘图

技术图片

Linux 系统用户、组和权限的管理

用户管理

useradd:创建用户

[root@localhost ~]# useradd admin

passwd:为用户账号设置密码

[root@localhost ~]# passwd admin
Changing password for user admin.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

su:切换用户身份

[root@localhost ~]# su - admin
Last login: Sun May 27 17:37:14 CST 2018 on pts/0
[admin@localhost ~]$ su -
Password:
Last login: Sun May 27 17:37:24 CST 2018 on pts/0
[root@localhost ~]#

userdel:删除用户账号

[root@localhost ~]# userdel -r admin

管理文件和目录的权限及归属

chmod:设置文件/目录权限

[root@localhost ~]# ll
total 4
-rw-------. 1 root root 1253 May 24 13:48 anaconda-ks.cfg
-rw-r--r--. 1 root root    0 May 27 17:54 test1.txt
-rw-r--r--. 1 root root    0 May 27 17:54 test2.txt
[root@localhost ~]# chmod a+x test1.txt
[root@localhost ~]# ll
total 4
-rw-------. 1 root root 1253 May 24 13:48 anaconda-ks.cfg
-rwxr-xr-x. 1 root root    0 May 27 17:54 test1.txt
-rw-r--r--. 1 root root    0 May 27 17:54 test2.txt
[root@localhost ~]# chmod a-x test1.txt
[root@localhost ~]# ll
total 4
-rw-------. 1 root root 1253 May 24 13:48 anaconda-ks.cfg
-rw-r--r--. 1 root root    0 May 27 17:54 test1.txt
-rw-r--r--. 1 root root    0 May 27 17:54 test2.txt
[root@localhost ~]# chmod a=rwx test1.txt
[root@localhost ~]# ll
total 4
-rw-------. 1 root root 1253 May 24 13:48 anaconda-ks.cfg
-rwxrwxrwx. 1 root root    0 May 27 17:54 test1.txt
-rw-r--r--. 1 root root    0 May 27 17:54 test2.txt
[root@localhost ~]# chmod 777 test2.txt
[root@localhost ~]# ll
total 4
-rw-------. 1 root root 1253 May 24 13:48 anaconda-ks.cfg
-rwxrwxrwx. 1 root root    0 May 27 17:54 test1.txt
-rwxrwxrwx. 1 root root    0 May 27 17:54 test2.txt

Linux 系统软件包管理

文件打包和压缩

tar:文件打包和压缩

[root@localhost ~]# tar -zcvf test.tar.gz test/
test/
test/test.txt
[root@localhost ~]# ll
total 8
-rw-------. 1 root root 1253 May 24 13:48 anaconda-ks.cfg
drwxr-xr-x. 2 root root    6 May 27 18:35 temp
drwxr-xr-x. 2 root root   23 May 27 18:22 test
-rw-r--r--. 1 root root  141 May 27 18:22 test.tar.gz
[root@localhost ~]# tar -zxvf test.tar.gz -C temp
test/
test/test.txt

利用yum进行软件管理

yum list:列出软件清单

[root@localhost ~]# yum list
(太长省略不写)

yum install:安装软件

[root@localhost ~]# yum install vim
(太长省略不写)

yum clean all:清除yum缓存

[root@localhost ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: base extras updates
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors

Linux 系统进程和服务管理

查看进程状态

ps:查看静态的进程统计信息

[root@localhost ~]# ps
   PID TTY          TIME CMD
 12206 pts/0    00:00:00 bash
 16353 pts/0    00:00:00 ps

ps -l
ps aux

top:查看进程动态信息

Linux 基本网络配置

ifconfig:查看网卡配置信息

[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:ce:dd:f0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.126.128/24 brd 192.168.126.255 scope global noprefixroute dynamic ens33
       valid_lft 1301sec preferred_lft 1301sec
    inet6 fe80::f36c:9305:f5c9:8cf8/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.126.128  netmask 255.255.255.0  broadcast 192.168.126.255
        inet6 fe80::f36c:9305:f5c9:8cf8  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:ce:dd:f0  txqueuelen 1000  (Ethernet)
        RX packets 69078  bytes 54063639 (51.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 16916  bytes 1474917 (1.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 64  bytes 5568 (5.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 64  bytes 5568 (5.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ifconfig若是不能用,请安装net-tools,命令:yum install net-tools

route:查看路由表

[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 ens33
192.168.126.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33

hostname:设置主机名

[root@localhost ~]# hostname
localhost.localdomain
[root@localhost ~]# hostname linux
[root@localhost ~]# hostname
linux
[root@localhost ~]# cat /etc/hostname
localhost.localdomain
[root@localhost ~]# hostnamectl set-hostname linux
[root@localhost ~]# hostname
linux
[root@localhost ~]# cat /etc/hostname
linux

ping

[root@localhost ~]# ping -c 4 www.baidu.com
PING www.a.shifen.com (111.13.100.92) 56(84) bytes of data.
64 bytes from promote.cache-dns.local (111.13.100.92): icmp_seq=1 ttl=128 time=22.6 ms
64 bytes from promote.cache-dns.local (111.13.100.92): icmp_seq=2 ttl=128 time=23.4 ms
64 bytes from promote.cache-dns.local (111.13.100.92): icmp_seq=3 ttl=128 time=23.5 ms
64 bytes from promote.cache-dns.local (111.13.100.92): icmp_seq=4 ttl=128 time=23.2 ms

--- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3006ms
rtt min/avg/max/mdev = 22.647/23.232/23.505/0.394 ms

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

linux常用命令整理

Linux上常用命令整理—— cat

linux常用命令整理:shell基础

Linux常用命令整理

[Linux] Linux常用文本操作命令整理

Linux常用文本操作命令整理