一文带你学会linux系统 史上最全linux命令大全

文章目录

  • linux系统简介
  • linux命令
    • 1.启动网络命令
    • 2.pwd命令
    • 2.ls命令
    • 3.cd命令
    • 4.mkdir命令
    • 5.rmdir命令
    • 6.touch命令
    • 7.rm命令
    • 8.echo命令
    • 9.>和>>命令
    • 10.文件查看命令
      • 10.1 cat
      • 10.2 more
      • 10.3 less
      • 10.4 head
      • 10.5 tail
      • 退出查询
    • 11.文件编辑命令
    • 12.cp命令
    • 13.scp命令
    • 14.mv命令
    • 15.man命令
    • 16.free命令
    • 17.df命令
    • 18.wc命令
    • 19.ps命令
    • 20.kill命令
    • 21.用户和权限命令
    • 22.查找命令
      • 1.find命令
      • 2.grep 命令
    • 23.压缩命令
    • 24.source命令
    • 25.export命令
    • 26.<

linux系统简介

Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善Linux,使其最大化地适应用户的需要。
Linux具有开放源码、没有版权、技术社区用户多等特点,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低。尤其系统中内嵌网络协议栈,经过适当的配置就可实现路由器的功能。这些特点使得Linux成为开发路由交换设备的理想开发平台

linux命令

1.启动网络命令

ip addr 查看网卡信息

service network start 启动网卡
service network stop 关闭网卡
service network restart 重启网络

2.pwd命令

pwd命令,查看当前目录的路径

linux下所有的绝对路径都是从根目录"/"开始
/root:是linux下root用户的根目录
/home:是linux下其他用户的默认根目录 (例如:在linux上创建了一个bow用户,那么就会在/home下面生成一个bow目录作为bow用户的根目录)
/etc:是linux下系统配置文件目录
/tmp:临时文件目录,所有用户都可以用

2.ls命令

ls 是用来查看目录下的文件和文件夹
ls [参数] 目录路径

常用参数如下:
ls [参数] 目录路径
ls 表示查看目录下的文件
ls #表示查看当前目录下的文件
ls -l #表示查看当前目录下的详细信息
ls -a #表示查看当前目录下的所有文件(包含隐藏文件)
ls -la #表示查看当前目录下的所有文件(包含隐藏文件)的详细信息
ls -lh #h是以适当的单位来显示文件的大小 ls -lh表示查看当前目录下的文件的详细信息,并以合适单位显示文件大小

ls -l / #表示查看根目录"/"下文件的详细信息

ls /etc #表示查看目录/etc下的文件

ls --help #查看命令的帮助文档

–help参数:所有linux上的命令都有,但写法上有如下几种:
(1)–help
(2)–h
(3)-help
(4)-h
ll命令:它和ls -l命令功能相同,但是不是所有的linux上都默认安装

[root@localhost ~]# ls --help
用法:ls [选项]... [文件]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.Mandatory arguments to long options are mandatory for short options too.-a, --all          不隐藏任何以. 开始的项目-A, --almost-all       列出除. 及.. 以外的任何项目--author            与-l 同时使用时列出每个文件的作者-b, --escape          以八进制溢出序列表示不可打印的字符--block-size=SIZE      scale sizes by SIZE before printing them; e.g.,'--block-size=M' prints sizes in units of1,048,576 bytes; see SIZE format below-B, --ignore-backups       do not list implied entries ending with ~-c                         with -lt: sort by, and show, ctime (time of lastmodification of file status information);with -l: show ctime and sort by name;otherwise: sort by ctime, newest first-C                         list entries by columns--color[=WHEN]         colorize the output; WHEN can be 'never', 'auto',or 'always' (the default); more info below-d, --directory            list directories themselves, not their contents-D, --dired                generate output designed for Emacs' dired mode-f                         do not sort, enable -aU, disable -ls --color-F, --classify             append indicator (one of */=>@|) to entries--file-type            likewise, except do not append '*'--format=WORD          across -x, commas -m, horizontal -x, long -l,single-column -1, verbose -l, vertical -C--full-time            like -l --time-style=full-iso-g              类似-l,但不列出所有者--group-directories-firstgroup directories before files;can be augmented with a --sort option, but anyuse of --sort=none (-U) disables grouping-G, --no-group       以一个长列表的形式,不输出组名-h, --human-readable      与-l 一起,以易于阅读的格式输出文件大小(例如 1K 234M 2G)--si         同上面类似,但是使用1000 为基底而非1024-H, --dereference-command-linefollow symbolic links listed on the command line--dereference-command-line-symlink-to-dirfollow each command line symbolic linkthat points to a directory--hide=PATTERN         do not list implied entries matching shell PATTERN(overridden by -a or -A)--indicator-style=WORD  append indicator with style WORD to entry names:none (default), slash (-p),file-type (--file-type), classify (-F)-i, --inode                print the index number of each file-I, --ignore=PATTERN       do not list implied entries matching shell PATTERN-k, --kibibytes            default to 1024-byte blocks for disk usage-l               使用较长格式列出信息-L, --dereference     当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息-m             所有项目以逗号分隔,并填满整行行宽-n, --numeric-uid-gid       类似 -l,但列出UID 及GID 号-N, --literal         输出未经处理的项目名称 (如不特别处理控制字符)-o              类似 -l,但不列出有关组的信息-p,  --indicator-style=slash    对目录加上表示符号"/"-q, --hide-control-chars   print ? instead of nongraphic characters--show-control-chars   show nongraphic characters as-is (the default,unless program is 'ls' and output is a terminal)-Q, --quote-name           enclose entry names in double quotes--quoting-style=WORD   use quoting style WORD for entry names:literal, locale, shell, shell-always, c, escape-r, --reverse          逆序排列-R, --recursive     递归显示子目录-s, --size           以块数形式显示每个文件分配的尺寸-S                         sort by file size--sort=WORD            sort by WORD instead of name: none (-U), size (-S),time (-t), version (-v), extension (-X)--time=WORD            with -l, show time as WORD instead of defaultmodification time: atime or access or use (-u)ctime or status (-c); also use specified timeas sort key if --sort=time--time-style=STYLE     with -l, show times using style STYLE:full-iso, long-iso, iso, locale, or +FORMAT;FORMAT is interpreted like in 'date'; if FORMATis FORMAT1<newline>FORMAT2, then FORMAT1 appliesto non-recent files and FORMAT2 to recent files;if STYLE is prefixed with 'posix-', STYLEtakes effect only outside the POSIX locale-t                         sort by modification time, newest first-T, --tabsize=COLS         assume tab stops at each COLS instead of 8-u                         with -lt: sort by, and show, access time;with -l: show access time and sort by name;otherwise: sort by access time-U                         do not sort; list entries in directory order-v                         natural sort of (version) numbers within text-w, --width=COLS           assume screen width instead of current value-x                         list entries by lines instead of by columns-X                         sort alphabetically by entry extension-1                         list one file per lineSELinux options:--lcontext                 Display security context.   Enable -l. Lineswill probably be too wide for most displays.-Z, --context              Display security context so it fits on mostdisplays.  Displays only mode, user, group,security context and file name.--scontext                 Display only security context and file name.--help        显示此帮助信息并退出--version     显示版本信息并退出SIZE is an integer and optional unit (example: 10M is 10*1024*1024).  Units
are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000).使用色彩来区分文件类型的功能已被禁用,默认设置和 --color=never 同时禁用了它。
使用 --color=auto 选项,ls 只在标准输出被连至终端时才生成颜色代码。
LS_COLORS 环境变量可改变此设置,可使用 dircolors 命令来设置。退出状态:0  正常1  一般问题 (例如:无法访问子文件夹)2  严重问题 (例如:无法使用命令行参数)GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
请向<http://translationproject.org/team/zh_CN.html> 报告ls 的翻译错误
要获取完整文档,请运行:info coreutils 'ls invocation'

3.cd命令

cd 目录路径 #进入一个目录,目录路径可以是绝对路径(以/开始的路径都是绝对路径),也可以是相对路径
相对路径:以非/开始的路径,
注意: "."表示当前目录
"…"表示当前目录的上一级目录,它可以多个一起使用
"~"表示当前用户的根目录 例如:root用户时,~表示/root目录 bow用户时,~表示/home/bow目录

cd / #表示进入系统根目录
cd usr/  #表示进入当前目录下的usr目录
cd local/ #表示进入当前目录下的local目录
cd ./bin  #表示进入当前目录下的bin目录
cd ..   #表示进入当前目录的上一级目录
cd ../..  #表示进入当前目录的上级目录的上一级目录
cd /usr/local/bin  #进入/usr/local/bin目录
cd ../etc #表示进入和当前目录同级的etc目录  #..表示当前目录的上一级目录 ../etc表示当前目录上级目录下的etc目录(和当前目录同级)
cd ~  #表示进入当前用户的根目录(cd ~ 和直接执行cd后不加目录的效果相同)#例如:root用户进入/root目录,bow用户进入/home/bow目录

cd ~/data #表示进入当前用户根目录下的data目录 例如:root用户则进入了/root/data目录

4.mkdir命令

mkdir 目录路径 #创建一个目录,目录路径可以是绝对路径也可以是相对路径

mkdir data  #在当前目录下创建一个data目录
mkdir ./dir #在当前目录下创建一个dir目录
mkdir /root/tmp  #在/root目录下创建一个tmp目录
mkdir创建目录时,只有在目录的上级目录存在时,才会创建
mkdir -p 目录#创建目录时,如果没有父目录,会创建父目录,递归地创建目录
mkdir -p a/b/c #在当前目录下创建3级目录

5.rmdir命令

rmdir [参数] 目录路径 #删除目录命令,rmdir默认只能删除空目录

rmdir ./dir #删除当前目录下的dir目录

rmdir -p 目录路径  #表示删除目录和它的父目录(目录要是一个空目录)
rmdir -p a/b/c #删除当前目录下的a/b/c目录

6.touch命令

touch 命令 #创建文件命令

touch 文件路径

touch 1.txt  #在当前目录下创建一个1.txt文件
touch /root/2.txt #在/root目录下创建一个2.txt文件

7.rm命令

rm [参数] 路径 #删除命令

rm 1.txt #删除当前目录下的1.txt文件,删除时会提示,是否删除如果输入y表示删除,输入n表示不删除

rm -f /root/2.txt #-f表示强制删除,不会提示,强制删除/root目录下的2.txt

rm -r a/ #递归的删除当前目录下a目录下的所有内容

[root@bow ~]# rm -r a/
rm:是否进入目录"a/"? y
rm:是否进入目录"a/b"? y
rm:是否进入目录"a/b/c"? y
rm:是否删除普通空文件 "a/b/c/3.txt"?y
rm:是否删除目录 "a/b/c"?y
rm:是否删除普通空文件 "a/b/2.txt"?y
rm:是否删除目录 "a/b"?y
rm:是否删除普通空文件 "a/1.txt"?y
rm:是否删除目录 "a/"?y

rm -rf a/ #强制删除当前目录下a目录及a目录下的所有内容
rm -rf * #删除当前目录下的所有内容
rm -rf a/* #删除当前目录下a目录下的所有内容
rm -rf *.txt #删除当前目录下的所有txt文件
rm -rf s #删除当前目录下所有名字中包含s的文件或文件夹

8.echo命令

echo #输出命令,可以输入变量,字符串的值

echo Hello World #打印Hello World
echo $PATH  #打印环境变量PATH的值,其中$是取变量值的符号,用法:$变量名  或者 ${变量名}echo -n  #打印内容但不换行
echo -n Hello World
[root@localhost u01]# echo Hello World
Hello World

9.>和>>命令

 >和>>:输出符号,将内容输出到文件中,>表示覆盖(会删除原文件内容) >>表示追加echo Hello World > 1.txt  #将Hello World输出到当前目录下的1.txt文件#如果当前目录下没有1.txt文件会创建一个新文件,#如果当前目录下有1.txt,则会删除原文件内容,写入Hello Worldecho 1234 >> 1.txt #将1234追加到当前目录下的1.txt中,如果文件不存在会创建新文件

通过>和>>都可以创建文件

10.文件查看命令

10.1 cat

cat 文件路径 #查看文件的所有内容
cat 1.txt #查看当前目录下1.txt的内容
cat /root/1.txt #查看/root目录下的1.txt文件内容

10.2 more

more 文件路径 #分页查看文件内容

more linux常用命令.txt #分页查看当前目录下linux常用命令.txt文件的内容
#按空格或回车,会继续加载文件内容,按q退出查看
#当加载到文件末尾时,会自动退出查看

10.3 less

less 文件路径 #分页查看文件内容
less linux常用命令.txt #分页查看文件内容,按空格继续加载文件,按q退出查看,不会自动退出查看

10.4 head

head [参数] 文件路径 #从文件开始查看文件
head linux常用命令.txt #查看文件的前10行内容

head -n 文件路径 # n是一个正整数,表示查看文件的前n行数据
head -20 linux常用命令.txt #查看文件的前20行内容

10.5 tail

tail [参数] 文件路径 #从文件的末尾查看文件内容
tail linux常用命令.txt #查看文件的后10行内容

tail -n 文件路径 # n是一个正整数,表示查看文件的后n行数据
tail -15 linux常用命令.txt #查看文件后15行内容

tail -f 文件路径 #动态的查看文件的最后几行内容(查看文件时,等待文件更新,如果文件更新了,会显示出新的内容)

tail -f 1.txt #查看文件1.txt的最新内容,tail -f 一般用来查看日志文件 按CTRL+C或才CTRL+Z退出查看

退出查询

CTRL+C:表示暂停进程
CTRL+Z: 表示停止进程

11.文件编辑命令

vi/vim命令:这两个命令在使用上几乎完全一样

安装vim命令:(安装是需要网络的)

  yum -y install vim

yum命令是centos和red hat系统上使用官方资源包去安装软件的命令
yum -y install 软件名
yum -y remove 软件名

查看虚拟机能不能上外网:

ping www.baidu.com

CTRL+C或者CTRL+Z退出

vim命令总体分为两类
vim 文件路径 --进入非编辑模式

  1. 非编辑模式命令:
yy:复制光标当前行
p:粘贴
dd:删除光标当前行
$:光标跳到当前行的行尾
^:光标跳到当前行的行首:s/原字符串/新字符串/:替换光标当前行内容
:%s/原字符串/新字符串/g:全文替换 #g表示global   i表示ignore忽略大小写/要查找的内容:从光标当前行向后查找内容
/d  #在文件中查找d字母
?要查找的内容:从光标当前位置向前查找内容
?d #查找文件中的d字母CTRL+F:向下翻1页
CTRL+B:向上翻1页:set nu:显示文件的行号
:set nonu: 去掉行号显示
u:撤消:set ff :显示文件的格式  #unix表示在unix上的文件 dos表示文件是windows上的文件:w :表示保存文件
:q :表示退出vim命令
:wq:保存并退出
:w!:强制保存
:q!:强制退出但不保存
:wq!:强制保存并退出i:表示进入编辑模式,并且光标在当前行
o:表示进入编辑模式,并且光标出现的当前行的下一行(新行)
  1. 编辑模式命令:
    编辑模式下可以能过方向键控制光标的位置,并且可以输入文件到光标当前位置
    ESC:退出编辑模式

12.cp命令

cp 拷贝命令
cp [参数] 原文件路径 目标文件路径

cp 1.txt a/ #将1.txt文件拷贝到a目录下
cp 1.txt 2.txt #将1.txt拷贝到2.txt
cp -r a data #-r参数表示将目录和目录下的文件一起拷贝,将a目录拷贝到data目录

13.scp命令

scp 远程拷贝命令,它可以将本地文件拷贝到远程服务器,也可以将远程服务器的文件拷贝到本地,也可以将一台服务器文件拷贝到另一台
scp -r 本地文件路径 用户名@ip[:port]:远程路径 #将本地文件拷贝到远程服务器
scp -r 2.txt root@192.168.5.105:/root/data/ #将本地的2.txt拷贝到192.168.5.105的/root/data目录下

scp -r 用户名@ip[:port]:远程文件路径 本地路径 #将远程文件拷贝到本地
scp -r root@192.168.5.105:/root/3.bak /root/data #将远程的/root/3.bak文件拷贝到本地的/root/data目录

scp -r 用户名@ip[:port]:远程文件路径 用户名@ip[:port]:远程文件路径 #将文件从一台服务器拷贝到另一台服务器
scp -r root@192.168.5.105:/root/tmp root@192.168.5.105:/root/data/ #将/root/tmp拷贝到远程的/root/data目录下

14.mv命令

mv 移动命令,它可以移动文件,也可以给文件改名
mv 原文件路径 目标文件路径 #将文件从一个地方拷贝到另一个地方

mv 1.txt 12.txt #将文件1.txt改名为12.txt
mv tmp tmp #将tmp目录改名为tm
mv 12.txt tm #将文件12.txt移动到tm目录下

15.man命令

man 命令,查看命令的命令,查看命令帮助文档(显示的信息最详细)

man mv #查看mv命令的文件

man命令和命令的 --help参数结果相似(man命令只适用于linux本身的命令)

16.free命令

free命令,它是用来查看系统内存的命令

free #查看系统内存使用情况
free -h #查看内存使用情况,并且以合适的单位显示大小

17.df命令

df命令,它是查看系统硬盘的命令
df #查看系统硬盘使用情况
df -h #查看硬盘使用,并以合适单位显示大小

18.wc命令

wc 命令,word count的缩写,它是查看文件的单词个数
wc [参数] 文件
wc -l linux常用命令.txt #-l表示line行数 计算文件的行数
wc -w linux常用命令.txt #-w表示word单词个数 计算文件的单词个数

19.ps命令

ps命令,它是查看系统进程的命令
ps -aux
ps -ef

jps 查看java进程

20.kill命令

kill 进程id #结束进程
root 21752 1.6 0.5 158800 5532 ? Ss 08:34 0:00 sshd: root@pts/0
kill 21752 #结束ssh登陆的进程

kill -9 进程id #强制结束进程

–了解命令
killall 进程名 #按照进程名结束进程
killall java #结束掉所有的java进程

21.用户和权限命令

  1. 创建用户组: groupadd 用户组名称 #创建一个用户组 groupadd bows #创建一个叫bows的用户组

  2. 删除用户组: groupdel 用户组名称 #删除一个用户组(删除时必须是用户组下没有用户时) groupdel bows #删除用户组

  3. 创建用户: useradd 用户名 [-g 用户组名 -G 用户组名] #创建一个用户,-g指定用户的主用户组,-G指定用户的其他用户组
    useradd bow -g bows #创建bow用户,并指定它的主用户组是bows

    id 用户名 #查看用户的id id bow #查看用户bow的id 删除用户: userdel 用户名 #删除用户 userdel
    bow #删除用户bow

  4. 切换用户: su 用户名 #切换用户,但不加载用户的环境变量 su - 用户名
    #切换用户,并加载用户的环境变量(建议使用这种方式切换用户) su bow #切换到bow用户(root用户切换到其他用户是不需要输入密码的,其他用户切换到root用户是要输入root用户密码的,其他用户之间的切换也是需要密码)
    exit #退出当前用户的登陆

  5. 修改用户密码:
    passwd 用户名 #修改用户密码 passwd bow #修改bow用户的密码

权限:
文件类型 用户权限 用户组权限 其他用户权限

  •             rw-              r--             r--                . 1 root root 5890 3月  23 14:11 linux常用命令.txt
    

d rwx r-x r-x . 4 root root 81 3月 24 08:06 data
d表示文件夹 u表示用户权限 g表示用户组权限 o表示其他用户权限

r:表示读权限 数字表示为4
w:表示写权限 数字表示为2
x:表示执行权限 数字表示为1
-:表示没有权限

chmod 赋权限命令

chmod 权限 文件路径
-rw-r--r--. 1 root root   31 3月  24 07:46 2.txt
chmod u+x 2.txt #给用户加上执行权限
-rwxr--r--. 1 root root   31 3月  24 07:46 2.txt
chmod g+w 2.txt #给用户组加写权限
-rwxrw-r--. 1 root root   31 3月  24 07:46 2.txt
chmod o+x 2.txt #给其他用户加执行权限
-rwxrw-r-x. 1 root root   31 3月  24 07:46 2.txt
chmod g-w 2.txt #去掉用户的写权限
-rwxr--r-x. 1 root root   31 3月  24 07:46 2.txt

用3个数字来设置文件或目录的权限,第1个数字表示用户权限,第2数字表示用户组权限,第3个数字表示其他用户权限
chmod 755 2.txt #设置用户的权限为rwx,用户组的权限r-x,其他用户的权限r-x
-rwxr-xr-x. 1 root root 31 3月 24 07:46 2.txt
chmod 766 2.txt #设置用户权限为rwx,用户组权限rw-,其他用户的权限rw-
-rwxrw-rw-. 1 root root 31 3月 24 07:46 2.txt

设置目录权限时,要使用-R参数,保证目录下的所有文件和目录的权限相同
drwxr-xr-x. 4 root root 81 3月 24 08:06 data
chmod -R 777 data #将data目录以及它下面的所有文件的权限设置为rwxrwxrwx
drwxrwxrwx. 4 root root 81 3月 24 08:06 data

chown 命令,它是更改文件所属用户

chown -R 用户[:用户组] 目录或文件
-rwxrw-rw-. 1 root root   31 3月  24 07:46 2.txt
chown bow 2.txt  #将2.txt的所属用户改为bow
-rwxrw-rw-. 1 bow  root   31 3月  24 07:46 2.txt
chown bow:bows 2.txt #将2.txt所属的用户改为bow,用户组改为bows
-rwxrw-rw-. 1 bow  bows   31 3月  24 07:46 2.txtdrwxr--r--. 4 root root   81 3月  24 08:06 data
chown -R bow:bows data #将data目录及它子目录文件的所属用户改为bow,用户组改为bows
drwxr--r--. 4 bow  bows   81 3月  24 08:06 data

22.查找命令

1.find命令

find命令,可以根据文件的时间,名称等查找文件

find *.txt #查找txt文件

2.grep 命令

grep 命令,查找内容

grep cat linux常用命令.txt #在linux常用命令.txt文件中查询包含cat的行,查找文件内容

| 通道符号,连接两个命令的,将前一个命令的查询结果传给后一个命令

ps -ef | grep sshd #查看系统中sshd的进程
ps -ef | grep java #查看所有java进程

grep -v #-v参数表示查询不包含查找条件的行
grep -v cat linux常用命令.txt #查找linux常用命令.txt中不包含cat的行

ps -ef | grep sshd | grep -v grep #查询sshd的进程,不包括grep的行

–了解性查询命令
who命令 #查询系统中的用户(登陆的用户)

whoami命令 #查看系统当前用户名

whereis命令 #查看系统安装的某个软件的路径

whereis python #查看python的安装路径

which 命令 #查找软件的可执行文件路径
which python #查看python可执行文件路径

23.压缩命令

安装zip和unzip命令:

yum -y install zip unzip

zip压缩命令
zip 压缩文件名 要压缩的文件路径
zip 2.zip 2.txt #将2.txt压缩到2.zip中

zip data.zip data #只会压缩文件夹,不会压缩文件夹下的内容

zip da.zip da/* #压缩文件夹和文件夹内的文件(压缩文件夹和它的下一级文件)

zip -r data.zip date #-r表示递归地将文件夹及它的子目录文件全部压缩

unzip解压命令
unzip 压缩文件路径
unzip 2.zip #将2.zip压缩包解压到当前目录下

unzip -l 压缩文件名 #不解压文件,查看压缩包内的文件
unzip -l da.zip #查看da.zip压缩文件中包含的文件
unzip da.zip -d 目标目录 #将压缩文件解压到指定目录
unzip da.zip -d tm/ #将压缩文件da.zip解压到tm目录下

tar命令,用来压缩和解压缩.tar和.tar.gz包
压缩.tar包:
tar cvf 压缩文件名 要压缩的文件或目录
tar cvf 2.tar 2.txt #将2.txt压缩为2.tar包

tar cvf data.tar data #将data目录夸张到data.tar包中
解压.tar包:
tar xvf 压缩文件名 [-C 指定解压目录]
tar xvf 2.tar #将2.tar解压到当前目录
tar xvf 2.tar -C a/ #将2.tar解压到a目录
tar xvf data.tar #解压data.tar到当前目录

压缩.tar.gz包:
tar zcvf 压缩文件名 要压缩的文件
tar zcvf tm.tar.gz tm #将当前目录下的tm目录压缩为tm.tar.gz

解压.tar.gz包:
tar zxvf 压缩文件名
tar zxvf tm.tar.gz #将tm.tar.gz解压到当前目录

–了解
gzip命令,将文件压缩为.gz包(可以用来压缩.tar文件)
gzip 要压缩的文件
gzip 2.txt #将2.txt压缩为2.txt.gz
gzip data.tar #将data.tar压缩为data.tar.gz

24.source命令

source 文件路径 #让配置文件修改结果立即生效,(还可以在shell脚本中引用其他的shell脚本)

/etc/profile #linux上的系统环境变量配置文件
source /etc/profile #将系统环境变量生效

25.export命令

export 导入全局变量(环境变量)

export 变量名=变量值
export 变量名

变量的赋值:
变量名=变量值

26.<<EOF

<<EOF … EOF:将<<EOF和EOF之间的多行内容传给前面的命令,
其中EOF可以是任意字符串,但约定都使用EOF
[root@bow ~]# cat <<EOF

HELLO
WORD
JOB
SMITH
EOF
HELLO
WORD
JOB
SMITH

<<EOF是shell脚本中使用sqlplus的基础

[root@bow ~]# cat <<A

11234
1234
1234
1253
1253
A
11234
1234
1234
1253
1253

注意:EOF必须顶行写
[root@bow ~]# cat <<EOF

ASDF
EOF
ASDFASDF
EOF
ASDF
EOF
ASDFASDF

27.cut命令

cut 截取命令

-f 参数,指定列
-d 参数指定列和列之间的分隔符,默认的分隔符是\t(行向制表符)cut -f 1 1.txt #取1.txt文件中的第1列内容(列分隔符默认为\t)
cut -f 2 1.txt #取1.txt文件中的第2列内容cut -f 1 -d ',' 3.txt #取3.txt文件中的第1列(列分隔符为,)
cut -f 2 -d ',' 3.txt #取3.txt第2列

wc -l linux常用命令.txt | cut -f 1 -d ’ ’ #取文件linux常用命令.txt的行数(分隔符是空格)
[root@bow ~]# cut -f 1 -d ‘,’ <<EOF

A,B,C
D,E,F
EOF
A
D

28.printf命令

%ns  输出字符串,n是数字,指代输出几个字符
%ni  输出整数。n是数字,指代输出几个数字
%m.nf  位数和小数位数。例如:%8.2f 代表输出8位数,其中2位是小数,6位是整数

printf 格式字符串 内容

[root@bow ~]# printf '%s,%s,%s\n' abc def ghj klj klo qer #一行单词第三个打印成一行,单词和单词之间用逗号隔开
abc,def,ghj
klj,klo,qer
[root@bow ~]# printf '%s %s\n' $(cat 4.txt) #将文件4.txt中的一行内容中的单词划分为两个一组打印 cat 合作查看文件内容 $(cat 4.txt)表示取cat命令的执行结果
empno ename
job sal
comm depno

文件 5.txt 里的内容
A B C D E
F G H

[root@bow ~]# printf '%s,%s\n' $(cat 5.txt)
A,B
C,D
E,F
G,H
[root@bow ~]# printf '%5.2f\n' 12.1
#%5.2f表示输出一个小数,数的长度是5,其中有两个小数
12.10[root@bow ~]# printf '%5.2f\n' 121234.116134
#如果输出的值最大长度超出5,那么整数部分不变量,小数部分会按照四舍五入的方法保存两位
121234.12[root@bow ~]# printf '%i\n' 1234.5678
#%i只取数字的整数部分
-bash: printf: 1234.5678: 无效数字
1234

29.awk命令

awk 命令字符串 要处理的内容

[root@bow ~]# awk '{printf $1 "\n"}' 1.txt #printf 打印 $n 表示取第几列 $1表示取第1列
Hello
smith
tomcat

awk ‘{print $2}’ 1.txt #取1.txt的第2列,print和printf功能相同是打印,比printf多一个换行功能

[root@bow ~]# awk '{printf $1 ","}' 1.txt
Hello,smith,tomcat,[root@bow ~]#
[root@bow ~]# awk '{printf $1}' 1.txt
Hellosmithtomcat
[root@bow ~]# awk '{printf $1 "\v"}' 1.txt
Hellosmithtomcat
[root@bow ~]# awk '{printf $1 ","}' 1.txt
Hello,smith,tomcat,

30.sed命令

sed 参数 命令 要处理的内容
-n  一般sed命令会把所有数据都输出到屏幕。如果加入此选择,则只会把经过sed命令处理的行输出到屏幕。
-e  允许对输入数据应用多条sed命令编辑
-i  用sed的修改结果直接修改读取的数据的文件,而不是修改屏幕输出

[root@bow ~]# sed '2p' 1.txt #查询第2行
Hello   world
smith   18
smith   18
tomcat  etl
[root@bow ~]# sed -n '2p' 1.txt
smith   18
[root@bow ~]# sed -i 's/18/20/g' 1.txt
#使用sed命令修改1.txt内容,将1.txt中18替换为20
[root@bow ~]# cat 1.txt
Hello   world
smith   20
tomcat  etl

a\  追加,在当前行后添加一行或多行。添加多行时除最后一行外,每行末尾需要用""代表数据未完结。
d  删除,删除指定的
p  打印,输出指定的行

[root@bow ~]# sed -i '2a !' 1.txt  #在第2行后面追加一行 !
[root@bow ~]# cat 1.txt
Hello   world
smith   20
!
tomcat  etl[root@bow ~]# sed -i '3d' 1.txt  #删除文件的第3行内容
[root@bow ~]# cat 1.txt
Hello   world
smith   20
tomcat  etl
[root@bow ~]# vim 6.txt
[root@bow ~]# cat 6.txt
abcd/home/bow
if ad-e /home/bow
abcd/home/bow
if ad-e /home/bow
abcd/home/bow
if ad-e /home/bow
#将6.txt文件中的/home/bow修改为/user/bw
#注意:替换时,的符号是根据/来判断 s/原字符串/目标字符串/g 如果原字符串或新的字符串中有/时,需要使用\来转义
#错误写法:s//home/bow//user/bw/g 正确写法 s/\/home\/bow/\/user\/bw/g
[root@bow ~]# sed -i 's/\/home\/bow/\/user\/bw/g' 6.txt
[root@bow ~]# cat 6.txt
abcd/user/bw
if ad-e /user/bw
abcd/user/bw
if ad-e /user/bw
abcd/user/bw
if ad-e /user/bw

注意:linux中字符串的下标是从0开始的

31.service命令

service服务命令
service 服务名 [命令]
命令:enable|disable|start|stop|restart|status
start:启动服务
stop:关闭服务
restart:重启服务
status:查看服务状态

service network start #遍历网络
service network stop #关闭网络
service network restart #重启网络
service network status #查看网络状态
service iptables start #centos6及6以下版本,启动防火墙的命令
service iptables stop #centos6及6以下版本,关闭防火墙(注意,关闭防火墙,只是临时关闭,下次重启之后防火墙依然会启动)
service iptables restart #重启防火墙
service mysqld start #启动mysql数据库
service mysqld restart #启动mysql数据库
service mysqld stop #关闭mysql数据库

32.chkconfig命令

chkconfig命令检查,设置系统的各种服务
chkconfig 服务名 on|off #on表示打开服务 off表示关闭服务 通过chkconfig设置的服务是永久生效
centos6及以下版本永久关闭或打开防火墙
chkconfig iptables on #打开防火墙
chkconfig iptables off #永久地关闭防火墙

防火墙:
centos7以上:
systemctl start firewalld #启动防火墙
systemctl stop firewalld #关闭防火墙(临时关闭)
systemctl status firewalld #查看防火墙状态
systemctl disable firewalld #永久关闭防火墙
systemctl enable firewalld #打开防火墙(不是启动防火墙)
通过firewall-cmd来配置防火墙

centos6及以下:
防火墙配置文件:/etc/iptables,这个文件可以详细的配置防火墙,如果没有/etc/iptables文件可以使用iptables save可以生成该文件
iptables 命令配置防火墙

service iptables start #centos6及6以下版本,启动防火墙的命令service iptables stop  #centos6及6以下版本,关闭防火墙(注意,关闭防火墙,只是临时关闭,下次重启之后防火墙依然会启动)service iptables restart  #重启防火墙

32.环境变量配置文件

/etc/profile是linux系统上配置系统环境变量的一个文件(针对所有用户的配置)

用户根目录下的.bash_profile:是用户环境变量的配置(针对当前用户有效)

su - 用户名 #切换用户时,会加载用户根目录下的.bash_profile环境变量配置文件
su 用户名 #不会加载.bash_profile

33.网络配置文件

网卡配置文件目录:/etc/sysconfig/network-scripts
网卡配置文件名都是以ifcfg-开头,其中ifcfg-lo是本地网卡,是不需要配置的

vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
#网卡类型
TYPE="Ethernet"
#协议 dhcp表示:ip地址是自动分配的,static表示静态ip(手动配置ip地址),none表示没有协议(也是需要手动配置ip地址)
BOOTPROTO="dhcp"
DEFROUTE="yes"
#网卡名称
NAME="enp0s3"
UUID="deed3fd2-bd67-459b-8a49-ef0dd6e575a2"
DEVICE="enp0s3"
#配置网卡是否随机启动,yes:表示随机启动,no:表示需要手动启动
ONBOOT="yes"
#配置静态ip,BOOTPROTO必须是static或none
#ip地址配置
IPADDR=192.168.1.106
#配置子网掩码
NETMASTER=255.255.255.0
#配置网关
GATEWAY=192.168.1.1
#配置dns:域名解析服务器可以配置多个
DNS1=192.168.1.1
DNS2=192.168.5.1

修改完网卡文件之后,重启网络即可

34.sudo命令

sudo命令,它在非root用户下,去调用一些root用户的命令,或者修改一些文件

sudo命令是需要配置的,sudo的配置文件是/etc/sudoers

#给bow用户配置sudo权限

[root@bow ~]# vim /etc/sudoers
##
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
#给bow用户设置sudo命令权限
bow     ALL=(ALL)       ALL

sudo命令的使用:
sudo 命令

[root@bow ~]# su - bow
上一次登录:四 3月 26 07:30:53 CST 2020pts/0 上
[bow@bow ~]$ sudo vim /etc/profile

35.ping命令

ping命令查看网络连通性的命令和windows上的功能一样

36.ifconfig命令

ifconfig命令属于net-tools软件包,使用前需要安装net-tools

net-tools的安装:

  yum -y install net-tools

ifconfig查看ip地址

37.netstat命令

netstat命令也属于net-tools软件包

netstat -tulp | grep 1521 #查看oracle监听器程序是否正常启动

一文带你学会linux系统 史上最全linux命令大全相关推荐

  1. 大数据开发工程师基本功修炼之史上最全Linux学习笔记(建议)

    我正在参加年度博客之星评选,请大家帮我投票打分,您的每一分都是对我的支持与鼓励. 2021年「博客之星」参赛博主:Maynor大数据 (感谢礼品.红包免费送!) https://bbs.csdn.ne ...

  2. centos7中ps显示的内容_值得收藏,史上最全Linux ps命令详解

    原标题:值得收藏,史上最全Linux ps命令详解 一.程序员的疑惑 大概在十多年前,我当时还是一个产品经理.由于一些工作的原因,需要向运维工程师学习一些linux常用命令. 当使用linux ps这 ...

  3. 150个CMD命令(史上更全cmd命令 net命令)

    目录 cmd命令大全: net命令 加油各位( •̀ ω •́ )y 期待与君再相逢 150个CMD命令(史上更全cmd命令 net命令) 运行操作cmd命令:开始-运行(或快捷键win+R) -输入 ...

  4. 广成子:值得收藏-史上最全Linux ps命令详解

    From 闻茂泉(广成)AliDataOps 一.程序员的疑惑   大概在十多年前,我当时还是一个产品经理.由于一些工作的原因,需要向运维工程师学习一些linux常用命令.当使用linux ps这个十 ...

  5. 史上最全Linux命令总结

    前言: 这是我见过的最详细的命令总结. 文章来自 华为云开发联盟,感谢作者红客白帽 Linux常用命令大全 第一章 Linux基础命令 [1]linux->ls [2]linux->ali ...

  6. 【备忘】史上最全LINUX之13套开发视频教程下载

    尚学堂科技_马士兵_轻松愉快LINUX视频教程[更新完毕-共享完毕] - 2015-07-04 12:08 一个更好的win linux双系统教程[更新完毕-共享完毕] - 2015-07-04 12 ...

  7. linux系统中网关ip修改设置命令大全

    修改ip地址 即时生效: # ifconfig eth0 192.168.0.20 netmask 255.255.255.0 启动生效: 修改/etc/sysconfig/network-scrip ...

  8. android10adb模式命令大全,史上最全ADB命令使用大全,一步教你成为玩机大神

    以下文章互联网博主:隔壁小胡 ADB简介 adb相信很多android开发者会用到它来进行调试手机,助手类软件也是依赖它来实现机型识 别,软件安装,软件传送等功能.原版的adb由于在windows下各 ...

  9. 史上最全linux语法汇总,教你一文掌握linux

    hadoop命令: #登录hadoop:kinit [user] kinit < passwd hadoop fs -ls /user/ # 查看hdfs目录下文件 hadoop fs -put ...

最新文章

  1. CMU赵越:关于数据挖掘的分享!
  2. Python使用matplotlib可视化华夫饼图(Waffle Chart) 、华夫饼图可以直观地显示完成度(百分比)或者部分占整体的比例、华夫饼图适合于同类型指标的比较(Waffle Chart)
  3. 因为爱情,才有了思科
  4. SQL中JOIN 的用法
  5. 不要让海浪中奔腾的豪情任岁月摧折,不要让江风中许下的誓言随流水消逝
  6. 《系统集成项目管理工程师》必背100个知识点-20项目管理计划的主要用途
  7. cnn 一维时序数据_蚂蚁集团智能监控的时序异常检测:基于 CNN 神经网络的异常检测...
  8. 《In Search of an Understandable Consensus Algorithm》翻译
  9. oracle光标位置无效,解决在Form表单中光标移动不了问题
  10. VS2008中文版MSDN订阅下载问题
  11. 【中学】寻找阿姆斯特朗数
  12. 地图瓦片坐标系定义及计算原理
  13. python爬虫基础详解
  14. 台式计算机运行慢怎么样能提高速度,怎样提高电脑运行速度,教您怎样提高电脑运行速度...
  15. 基于ROS的机器人模型建立及3D仿真【物理/机械意义】
  16. Python3 实现网易126邮件发送
  17. Win10电脑连接不上无线网络怎么解决
  18. java.io.FileNotFoundException: File does not exist: hdfs ://sxt/home/sqoop-1.4.6/lib/commons-codec-1
  19. 方舟服务器能不能用ce修改器,方舟生存进化CE修改器代码大全
  20. 关系型数据库和非关系型数据

热门文章

  1. AI绘画软件排行榜,手机AI绘画排名推荐
  2. 青云QingCloud推出CDN加速服务 动态选择最优节点
  3. IPC、Binder及AIDL原理机制
  4. vs各个版本的编译器号对应的vs版本号
  5. zoc for mac注册码
  6. 摩羯座|摩羯座性格分析
  7. 3D建模和渲染吃什么硬件?新手避坑指南
  8. bzoj 4480: [Jsoi2013]快乐的jyy
  9. vmware win7虚拟机安装vmtools坑
  10. 8m照片宽和高是多少_1920*1080的图片高和宽是多少厘米呀