Linux 命令大全

  1. 2.2文件及目录操作命令:
  2. 2.3 权限操作命令:
  3. 2.4 网络操作命令
  4. 2.5 其他命令

Linux 命令大全

开启SSH服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
1、安装SSH服务 
sudo apt-get install openssh-server
2、配置端口
sudo vi /etc/ssh/sshd_config port 22
修改端口 PermitRootLogin yes 允许远程登陆
3、启动、重启SSH服务端
sudo /etc/init.d/ssh start
service ssh start
sudo /etc/init.d/ssh restart
或者 service ssh restart
4、远程连接: ssh root@serverIP -p [port]
5、设置开机自启动
sudo systemctl enable ssh #开启
sudo systemctl disable ssh #关闭

系统管理命令

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
stat              显示指定文件的详细信息,比ls更详细
who 显示在线登陆用户
whoami 显示当前操作用户
hostname 显示主机名
uname 显示系统信息
top 动态显示当前耗费资源最多进程信息

ps 显示瞬间进程状态 ps -aux

du 查看目录大小 du -h /home带有单位显示目录信息

df 查看磁盘大小 df -h 带有单位显示磁盘信息

ifconfig 查看网络情况

ping 测试网络连通

netstat 显示网络状态信息

man 命令不会用了,找男人 如:man ls

clear 清屏

alias 对命令重命名 如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit

kill 杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。
killall [soft]
- 安装软件:
sudo apt-get install SoftName

- 卸载软件:
sudo apt remove SoftName

- 查看系统信息:
uname -a

- 安装查询软件:sudo apt install neofetch screenfetch
- -终端查询命令:neofetch 或 screenfetch

常用命令还有:
uname -a #查询内核版本
cat /proc/cpuinfo #查询CPU信息
hostname #查看计算机名
lspci #列出所有PCI设备
lsusb #列出所有USB设备
lsmod #列出加载的内核模块
env #查看环境变量资源
free -m #查看内存使用量和交换区使用量
df -h #查看各分区使用情况
ifconfig #查看网络接口属性,需 sudo apt install net-tools 或 ip address
14 route -n #查看路由表,或 ip route

文件及目录基本命令

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
ls          显示文件或目录
-l 列出文件详细信息l(list)
-a 列出当前目录下所有文件及目录,包括隐藏的a(all)

mkdir 创建目录
-p 创建目录,若无父目录,则创建p(parent)

cd 切换目录

touch 创建空文件

echo 创建带有内容的文件。

cat 查看文件内容

cp 拷贝

mv 移动或重命名

rm 删除文件
-r 递归删除,可删除子目录及文件
-f 强制删除

find 在文件系统中搜索某文件

wc 统计文本中行数、字数、字符数

grep 在文本文件中查找某个字符串

rmdir 删除空目录

tree 树形结构显示目录,需要安装tree包

pwd 显示当前目录

ln 创建链接文件

more、less 分页显示文本文件内容

head、tail 显示文件头、尾内容

文件权限管理

1
2
3
chmod	[]	#更改文件权限,r是读,w是写,x是执行权限
chown #更改文件、目录拥有者
chgrp #更改用户组

打包压缩相关命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
gzip:
-d 解压*gz包
bzip2:

tar: 打包压缩
-c 归档文件
-x 压缩文件
-z gzip压缩文件
-j bzip2压缩文件
-v 显示压缩或解压缩过程 v(view)
-f 使用档名

例:
tar -cvf /home/abc.tar /home/abc 只打包,不压缩
tar -zcvf /home/abc.tar.gz /home/abc 打包,并用gzip压缩
tar -jcvf /home/abc.tar.bz2 /home/abc 打包,并用bzip2压缩
当然,如果想解压缩,就直接替换上面的命令 tar -cvf / tar -zcvf / tar -jcvf 中的“c” 换成“x” 就可以了。

关机/重启机器

shutdown -f [time]  #now
     -r             关机重启
     -h             关机不重启
     now          立刻关机

halt               关机
reboot          重启  
- 关机shutdown:  
  shutdown -f [time]  #now

poweroff		#关闭系统

vim使用

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
vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。

命令模式下:
:q 退出
:q! 强制退出
:wq 保存并退出
:set number 显示行号
:set nonumber 隐藏行号

/apache 在文档中查找apache 按n跳到下一个,shift+n上一个

插入模式下:
100 dd 删除100行
10 yy p 复制10行 p 粘贴
h 左移一个字符
k 上移一个字符
j 下移一个字符
w 向前移动一个单词(光标停在单词首部),如果已到行尾,则转至下一行行首。此命令快,可以代替l命令。
b 向后移动一个单词 2b 向后移动2个单词
e,同w,只不过是光标停在单词尾部
ge,同b,光标停在单词尾部。
gg 移动到文件头。 = [[
G(shift + g) 移动到文件尾。 = ]]
Ctrl + e 向下滚动一行
Ctrl + y 向上滚动一行
Ctrl + d 向下滚动半屏
Ctrl + u 向上滚动半屏
Ctrl + f 向下滚动一屏
Ctrl + b 向上滚动一屏

用户及用户组管理

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
/etc/passwd    存储用户账号

/etc/group 存储组账号

/etc/shadow 存储用户账号的密码

/etc/gshadow 存储用户组账号的密码

useradd [op] 用户名 #新增用户

userdel 用户名 #删除用户

adduser 用户名 #新增用户

groupadd 组名

groupdel 组名

passwd user #给user用户设置密码

su root

su - root

/etc/profile 系统环境变量

bash_profile 用户环境变量

.bashrc 用户环境变量

su user 切换用户,加载配置文件.bashrc

su - user 切换用户,加载配置文件/etc/profile ,加载bash_profile

更改文件的用户及用户组

sudo chown [-R] owner[:group] {File|Directory}

例如:还以jdk-7u21-linux-i586.tar.gz为例。属于用户hadoop,组hadoop

要想切换此文件所属的用户及组。可以使用命令。

sudo chown root:root jdk-7u21-linux-i586.tar.gz

硬盘操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
lsblk		查看本地磁盘信息
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 1 59.5G 0 disk
└─sdb1 8:17 1 6.9G 0 part /media/xxx/xxxx
sda 8:0 0 40G 0 disk
└─sda1 8:1 0 40G 0 part /
fdisk 查看本地磁盘
-a 查看所有磁盘

cfdisk
/dev/sdb #对sdb进行操作

dd
dd if=/dev/sdb of=/root/image.img #将image.img 写入sdb
if=文件名:指定输入文件名或者设备名,如果省略“if=文件名”,则表示从标准输入读取。
of=文件名:指定输出文件名或者设备名,如果省略“of=文件名”,则表示写到标准输出。
  • *.deb二进制包安装/卸载:
    安装:dpkg -i *.deb
    卸载:sudo dpkg -r xxSoftName

  • find查找文件
    find path -name 'file'
    Eg:find / -name like.txt 在’/‘目录下查找’like.txt’文件,可用’*’、’?’通配符

  • 开启SSH远程登陆

    为安全故,Linux默认是关闭远程登陆的

    sudo vim /etc/ssh/sshd_config

    将38行:PermitRootLogin no 改为:PermitRootLogin yes

    将115行:UseDNS no 改为:UseDNS yes 省略DNS验证。

    重启SSH:

    service sshd restart

    或者:

    /etc/initd.d/sshd restart

2.2文件及目录操作命令:

  • 打印目录列表:
    ls -all
  • 文件/目录复制:
    cp old new
  • 文件/目录移动:
    mv old new
  • 删除文件/目录(非空目录加-r递归,加-f不提示):
    rm -op path
  • 改变目录 cd:
    cd path
  • 打印当前路径pwd:
    `pwd’
  • 新建文件夹mkdir:
    mkdir name
    mkdir -r path #-r为递归创建
  • 运行当前目录下文件:
    ./filename
  • 编辑文件vim
    vim file
    编辑按i键 退出按ESC 再按:
    :q 为退出不写入
    :wq 为写入并退出
    :!q 为强制退出
  • 查看文件内容:
    cat file

2.3 权限操作命令:

  • chown设置文件/目录拥有者:
    chown user path(dir/files)

  • chmod设置文件目录权限:
    chmod -R 777 path(dir/file)
    这里的777是权限:r=4、w=2、x=1、无权限=0

    属主:rwx=4+2+1=7

    属组:r-x=4+0+1=5

    其他:—=0+0+0=0

2.4 网络操作命令

  • ssh 终端远程连接:
    ssh -p [port] user@[ip or URL]
    Eg:ssh -p 222 root@abc.cn

  • 查看本机ip地址
    ifconfig -a

  • 下载网络文件wget:
    wget url

  • 修改IP地址(Ubuntu)
    方法一:修改网络配置文件:
    # vim /etc/network/interfaces

  • 重启网络服务:
    # /etc/init.d/networking restart

  • SSH命令传输文件SCP

    一般用scp命令传输文件。

    1、从服务器上下载文件

    scp username@servername:/path/filename /localhost/file

    Eg:

    scp root@192.168.1.3:/home/mysql.tar.gz /home/root/

    2、上传本地文件到服务器

    scp /path/filename username@servername:/path/filename

    3、从服务器下载整个目录
    scp -r username@servername:/(远程目录) /(本地目录)

    例如:scp -r root@192.168.0.101:/var/www/test /var/www/

    4、上传目录到服务器
    scp -r local_dir username@servername:remote_dir
    例如:scp -r test root@192.168.0.101:/var/www/ 把当前目录下的test目录上传到服务器的/var/www/ 目录

    5、非默认端口传输:

    ‘scp -P 10022 root@192.168.1.3:/path/filename /local/path/filename’

2.5 其他命令

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
- 创建连接ln:  
`ln -op old_path new_path`
-op: -s 为软连接

- 批量创建连接:
1.使用ln命令
<span style="font-size:18px;">ln -s /tmp/*.log /tmp/lnk/</span>

2.使用cp命令的参数-rs
<span style="font-size:18px;">cp -rs /tmp/*.log /tmp/lnk/</span>

- tar解压:
`tar zxvf file.tar.gz`

- tar压缩打包:
` tar zcvf file.tar.gz path(dir/files)`
OP:-c 建立压缩文件
\-x 解开压缩包
\-z 具有gzip属性?
\-j 同时具有bzip属性?
\-f 使用档名,后立即接档名

* zip/unzip命令
zip -r zip_file.zip FilesDir
unzip zip_file.zip
\-r 递归处理,将指定目录下所有文件和子目录一并处理

**显示消耗内存最多的10个进程**

ps aux | sort -nk +4 | tail **实时查看目录下最新改动过的文件**

watch -d -n 1 'df; ls -FlAt /path' **找出最常用的10条命令**

history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head **vim 保存文件时发现需要 root 权限**

:w !sudo tee% **计时器**

time read **新建文件**

\>file.txt **快速备份文件**

cp filename{,.bak} **定时执行任务,一次性任务用 at,重复性任务用 cron \*** **echo cmd | at midnight //tomorrow, next week …** ***查看端口占用**

netstat -tulnp **快速开启一个 smtp 服务**

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com

×

喜欢就点赞,疼爱就打赏