Linux常用命令

Linux

  • 1.获取登录信息
1
2
3
4
5
ubuntu@root:~$ w
04:30:51 up 10 min, 2 users, load average: 0.00, 0.10, 0.14
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
ubuntu tty1 - 04:21 7:28 0.15s 0.12s -bash
ubuntu pts/0 10.156.67.2 04:21 1.00s 0.11s 0.00s w
1
2
3
ubuntu@root:~$ who
ubuntu tty1 2019-02-26 04:21
ubuntu pts/0 2019-02-26 04:21 (10.156.67.2)
1
2
ubuntu@root:~$ who am i
ubuntu pts/0 2019-02-26 04:21 (10.156.67.2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
ubuntu@root:~$ last
ubuntu pts/0 10.156.67.2 Tue Feb 26 04:21 still logged in
ubuntu tty1 Tue Feb 26 04:21 still logged in
reboot system boot 4.15.0-45-generi Tue Feb 26 04:20 still running
ubuntu pts/0 192.168.43.158 Fri Feb 22 08:22 - 09:02 (00:40)
ubuntu tty1 Fri Feb 22 08:21 - down (00:41)
reboot system boot 4.15.0-45-generi Fri Feb 22 08:20 - 09:02 (00:42)
ubuntu pts/0 192.168.13.109 Fri Feb 22 07:57 - 08:19 (00:22)
ubuntu pts/0 192.168.13.109 Fri Feb 22 07:53 - 07:57 (00:03)
ubuntu tty1 Fri Feb 22 07:48 - 08:18 (00:29)
ubuntu tty1 Fri Feb 22 07:45 - 07:48 (00:03)
reboot system boot 4.15.0-45-generi Fri Feb 22 07:43 - 08:19 (00:36)

wtmp begins Fri Feb 22 07:43:19 2019
  • 2.查看使用shell
1
2
3
4
5
6
7
8
9
10
11
ubuntu@root:~$ ps
PID TTY TIME CMD
1725 pts/0 00:00:00 bash
1835 pts/0 00:00:00 ps

# 检查Python是否启动
ubuntu@root:~$ ps -ef|grep python
......

# -e:显示所有程序
# -f:显示详细信息
  • 3.查看命令说明
1
2
ubuntu@root:~$ whatis su
su (1) - change user ID or become superuser
  • 4.查看命令位置
1
2
ubuntu@root:~$ which python3.6
/usr/bin/python3.6
1
2
ubuntu@root:~$ whereis python3.6
python3: /usr/bin/python3.6m /usr/bin/python3.6-config /usr/bin/python3.6 /usr/bin/python3 /usr/bin/python3.6m-config /usr/lib/python3.7 /usr/lib/python3.6 /usr/lib/python3 /etc/python3.6 /etc/python3 /usr/local/lib/python3.6 /usr/include/python3.6m /usr/include/python3.6 /usr/share/python3 /usr/share/man/man1/python3.1.gz
1
2
ubuntu@root:~$ whatis which
which (1) - locate a command
1
2
ubuntu@root:~$ whatis whereis
whereis (1) - locate the binary, source, and manual page files for a command
  • 5.查看帮助文档
1
2
3
ubuntu@root:~$ man su
ubuntu@root:~$ info su
ubuntu@root:~$ su --help
  • 6.创建、删除目录
1
2
ubuntu@root:~$ mkdir abc
ubuntu@root:~$ rmdir abc
  • 7.创建、删除文件
1
2
3
4
5
ubuntu@root:~$ touch readme.txt
ubuntu@root:~$ rm readme.txt
# -i:交互式删除,每个删除项都会进行询问。
# -r:删除目录并递归的删除目录中的文件和目录。
# -f:强制删除,忽略不存在的文件,没有任何提示
  • 8.切换和查看目录
1
2
ubuntu@root:~$ cd abc
ubuntu@root:~$ pwd
  • 9.拷贝、移动文件
1
2
3
4
5
6
7
8
9
ubuntu@root:~$ cp readme.txt abc
# cp -r 递归拷贝,拷贝目录及子目录和文件

ubuntu@root:~$ mv a.txt /tmp/abc

# 重命名文件/文件夹
ubuntu@root:~$ mkdir test
ubuntu@root:~$ mv test tets2
ubuntu@root:~$ mv a.txt b.txt
  • 10.查找文件和内容
1
2
3
4
5
6
7
ubuntu@root:~$ find / -name "python"

#找出/tmp所有以 .txt 结尾的文件
find /tmp/ -type f -name "*.txt"

ubuntu@root:~$ grep -E \<\/?script.*\> baidu.html -n
# grep在搜索字符串时可以使用正则表达式,如果需要使用正则表达式可以用grep -E或者直接使用egrep
  • 11.查看文件内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
ubuntu@root:~$ cat -n readme.txt
# -n 显示行号

# 查看内容较长的文件
ubuntu@root:~$ more readme.txt

# 查看文件前10行(默认10行)
ubuntu@root:~$ head readme.txt

# 查看文件前5行
ubuntu@root:~$ head -5 readme.txt

# 查看文件后10行(默认10行)
ubuntu@root:~$ tail readme.txt

# 查看文件第16-20行
ubuntu@root:~$ head -20 readme.txt |tail -5
  • 12.统计文件大小
1
2
3
4
ubuntu@root:~$ du -h readme.txt 
4.0K readme.txt

# -h --human-readable print sizes in human readable format (e.g., 1K 234M 2G)
  • 13.查看系统负载
1
2
3
4
5
6
7
8
9
10
11
12
13
14
ubuntu@root:~$ top

top - 04:34:14 up 1:44, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 149 total, 1 running, 79 sleeping, 2 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.7 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 2017280 total, 1460704 free, 163732 used, 392844 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 1700156 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1622 ubuntu 20 0 42784 3964 3340 R 0.7 0.2 0:00.52 top
480 root 20 0 191260 10764 9540 S 0.3 0.5 0:11.38 vmtoolsd
1613 root 20 0 0 0 0 I 0.3 0.0 0:00.12 kworker/u256:0
1 root 20 0 77764 8948 6736 S 0.0 0.4 0:03.52 systemd
......
  • 14.结束进程
1
2
3
4
5
6
7
8
# 结束vim进程
ubuntu@root:~$ ps -ef | grep vim
root 3268 2884 0 16:21 pts/1 00:00:00 vim install.log
root 3370 2822 0 16:21 pts/0 00:00:00 grep vim
ubuntu@root:~$ kill 3268

# 按进程名结束进程
ubuntu@root:~$ pkill nginx
  • 15.管道符
1
2
3
4
5
6
7
'|' 管道符左边命令的输出会作为管道符右边命令的输入

# 检查python程序是否启动
ps -ef|grep "python"

# 找到/tmp目录下所有txt文件
ls /tmp|grep '.txt'
  • 16.alias别名
1
2
3
4
5
6
7
8
9
10
ubuntu@root:~$ alias rm='echo do not use rm'

#设置别名永久生效,写入到/etc/profile(针对登录用户的合同,设置环境变量)
vim /etc/profile #编辑文件
G  快速到达最后一行
o  当前行下一行,创建一个新行,进入编辑模式
source /etc/profile #读取文件(合同生效)

# 取消别名
unalias rm
  • 17.特殊符号
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# >> 将输出追加到文件的结尾
# > 将输出覆盖文件(清空文件内容,把文字写到文件)
# << 输入重定向
# < 将输入结果输入重定向

ubuntu@root:~$ clear
ubuntu@root:~$ echo 'Hello' >> readme.txt
ubuntu@root:~$ cat -n readme.txt
1 Hello
ubuntu@root:~$ echo 'World' >> readme.txt
ubuntu@root:~$ cat -n readme.txt
1 Hello
2 World

ubuntu@root:~$ echo 'Clear' > readme.txt
ubuntu@root:~$ cat -n readme.txt
1 Clear

ubuntu@root:~$ cat << EOF >> readme.txt
> 123
> EOF
ubuntu@root:~$ cat -n readme.txt
1 Clear
2 123

ubuntu@root:~$ cat << EOF > readme.txt
> AAA
> EOF
ubuntu@root:~$ cat -n readme.txt
1 AAA


ubuntu@root:~$ cat > file.ini
hello Linux
This is test!
^Z
[2]+ Stopped cat > file.ini
ubuntu@root:~$ ls
file.ini
ubuntu@root:~$ cat file.ini
hello Linux
This is test!


ubuntu@root:~$ ifconfig > ifconfig.txt
ubuntu@root:~$ ls
ifconfig.txt readme.txt
ubuntu@root:~$ cat qwe.txt


ubuntu@root:~$ cat > bash.txt < ~/.bashrc
ubuntu@root:~$ ll bash.txt ~/.bashrc
-rw-rw-r-- 1 ubuntu ubuntu 3771 Mar 5 03:18 bash.txt
-rw-r--r-- 1 ubuntu ubuntu 3771 Apr 4 2018 /home/ubuntu/.bashrc
  • 18.时间和日期
1
2
3
4
5
6
7
8
9
10
ubuntu@root:~$ date
Tue Feb 26 05:23:36 UTC 2019
ubuntu@root:~$ cal
February 2019
Su Mo Tu We Th Fr Sa
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28
  • 19.访问权限
1
2
3
4
5
ubuntu@root:~$ ubuntu@root:~$ chmod 777 readme.txt
# -R 递归地改变文件或目录

# chown 改变文件所有者
ubuntu@root:~$ chown uer2 readme.txt
  • 20.磁盘管理
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 磁盘使用状况
ubuntu@root:~$ df -h
# -h, --human-readable print sizes in powers of 1024 (e.g., 1023M)

# 磁盘分区
ubuntu@root:~$ fdisk

# 格式化文件系统
ubuntu@root:~$ mkfs

# 文件系统检查
ubuntu@root:~$ fsck

# 卸载、挂载
ubuntu@root:~$ mount
ubuntu@root:~$ umount
  • 21.Vi/Vim的使用

未完待续…