出自:shusheng007
文章目录
概述
linux毫无疑惑是现今服务器领域的霸主,现今世界主流操作系统多少与其有血缘关系,比如Android、IOS,嵌入式系统等等,所以只要你是从事IT相关的工作,或多或少就会接触Linux,时常还要使用一下。我也是其中一员,日常不须要时常使用,并且时常使用的时侯却如何也想不起这些实用的命令。这个也正常,人的头脑是拿来记住这些对自己至关重要的信息的,所以此处将记录自己日常使用中的一些实用Linux命令,供自己和别人查阅。
使用方式(此渔非鱼)
Linux命令是海量的,要想全记住那是傻蛋或则天才干的事,你我平时人最好把握有效的方式,能够事半功倍。
命令结构
每条Linux命令都是根据固有结构设计的:

command [option(s)] [argument(s)]

是不是还有点懵逼?那种option是啥,为何旁边还有个(s)?argument又是哪些jb玩意儿?你用[]括上去是几个意思?朋友不懂就学,不带骂街的啊…你不懂,是由于这个是个结构,是经过具象的,具象的东西常常就比较难理解,举个实例你就明白了。

rm -r my-folder

里面的命令作用是删掉当前目录里的folder文件夹及其内容。
rm对应command,-r对应option,my-folder对应argument。(s)表示一个命令可以有多个option,多个argument,[]表示有的命令option与argument都可以省略。

rm -r -f my-folder 或者 rm -rf my-folder

里面的命令就使用了多个option,表示在删掉my-folder文件夹内容时侯不要寻问我某个文件是否删掉linux删除命令大全,老娘晓得自己在干啥,就是删库跑路,全部force删掉。

cp file1.txt file2.txt

里面的命令就使用了多个argument,而且没有使用option,其表示将当前路径下的文件file1.txt复制一份命名为file2.txt
怎么查找
命令结构一旦清楚了,这么就轮到怎样查找这种命令说明的矛盾上了。
apropos(通过关键字查询指南)
通过这个命令你可以查到某个关键字的相关命令列表。诸如我想复制一个文件,并且我不晓得哪个命令叫啥就可以使用这个方式来查找。虽然此时我们通常都是要Google/Baidu了…,由于我晓得是要操作文件,这么我就使用下边的命令来查找与file相关的命令。

apropos files

输出:

... cat (1) - concatenate files and print on the standard output ... cp (1) - copy files and directories ...

从输出列表中通过描述我们就可以找到cp这个命令。其实命令是找着了,而且我不会用咋整?这就是另一个命令上场的时侯了。
man
通过man我们可以查看某个命令的详尽用法

man cp

输出:

NAME cp - copy files and directories SYNOPSIS cp [OPTION]... [-T] SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY SOURCE... DESCRIPTION Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY. Mandatory arguments to long options are mandatory for short options too. -a, --archive same as -dR --preserve=all --attributes-only don't copy the file data, just the attributes ...

内容好多,按空格键翻页,查看完后输入quit退出。
虽然不仅还有man,我们也会使用--help这个option来查看某一个命令的说明信息,比如

cp --help

关于使用-还是--似乎是Unix的一种约定,使用-旁边就跟option的一个字符的简称,使用--就跟完整的option,比如-h与--help
帐户相关Mac通过Terminal联接远端服务器

ssh 服务器的用户名@服务器IP或域名

输入密码即可
Mac断掉与服务器的ssh联接

logout

切换帐户

su

su是substitute(替换)或则switchuser(切换帐户)的简写,我更倾向于SwitchUser,更直观,更好记

root@xxxxxxxxxxx:~# su ben

root切换到ben

ben@xxxxxxxxxx:/root$ su root Password:

ben切换到root,须要输入密码
note:root帐号的起始符为#,而普通帐号的起始符为$
权限相关提高帐户权限

sudo

sudo简称为superuserdo,干超级用户能够干的事。具体使用方法请查看秒懂Linux的sudo命令
更改文件所属的用户和用户组

chown

ch代表change,own代表owner组合上去就是改变所有者,是不是挺好记。

chown root:tomcat ./my-file.txt

将当前目录下的my-file.txt的所有者更改为root用户linux更改ip地址,将其group更改为tomcat
更改文件的权限

chmod

changefilemodebits,这不太好理解,总之记住是更改文件权限的就可以了中文linux操作系统,具体使用方式可参考:秒懂Linux文件权限及chmod命令
文件相关怎么删掉文件
删掉单个文件

rm 文件名

删掉多个文件

rm 文件1 文件2 rm *.txt

删掉文件时寻问

rm -i 文件名

怎么删掉文件夹
删掉空文件

rmdir 文件夹 或 rm -d 文件夹

删掉整个目录,包括上面的文件及文件夹

rm -r 目录名

安全的拷贝文件

scp

用于在本地和服务器,服务器与服务器之间安全的拷贝文件
从服务器copy文件到本地

scp username@server_host:file.txt /local/directory/

从本地copy文件到服务器

scp file.txt username@server_host:/remote/directory/

从服务器copy整个目录到本地

scp -r username@server_host:/remote/directory/ /local/directory/

从本地copy整个目录到服务器

scp -r /local/directory/ username@server_host:/remote/directory/

从服务器copy文件到另一个服务器

scp username1@from_host:/remote/directory/file.txt username2@to_host:/remote/directory/

其中服务器路径部份的写法为

你服务的用户名@你服务器的IP或域名:服务上的文件路径

本地路径就是普通的路径即可。
查看文件夹大小

du -h --max-depth=1

--max-depth表示深入的层数linux删除命令大全,下边展示的是/opt文件夹下的内容

root@iZ28k2ghmchZ:/opt# du -h --max-depth=1 390M ./jdk 1.3M ./linux_learn 139M ./tomcat 1.1G ./my-ml-env 1.6G .

查看文件大小

ls -hl

第5列可以看见是文件的规格,其中h表示人类友好表示,比如1.3M总比给你变成1xxxxxxx字节强吧。

total 1.3M -rwxr--rw- 1 root root 12 Apr 5 2020 filePermissionTest.txt -rw-rw-r-- 1 root root 11 May 3 2020 helloLinux.html -rw-r--r-- 1 r oot root 184 May 3 2020 HelloVim.txt -rw-r--r-- 1 root root 1.3M Dec 20 2016 idea快捷键.jpg

网路
查看某个端标语是否被占用

netstat -antp | grep 端口号

番外篇Redis
卸载redis

# if you use apt-get to install redis then use sudo apt-get purge --auto-remove redis-server

下边这种通常不用执行

# Now delete everything related to Redis server from /usr/local/bin/ sudo rm /usr/local/bin/redis-* # Now delete Redis Configuration files directory and it’s content. sudo rm -r /etc/redis/ # Delete existing Redis log files. sudo rm /var/log/redis_* # Delete existing Redis data directory and it’s content. sudo rm -r /var/lib/redis/ # Delete existing Redis server init scripts sudo rm /etc/init.d/redis_* # Remove existing Redis PID files (Only if exists) sudo rm /var/run/redis_*​