出自: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_*​

Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复