linux基础命令-centos

news/2024/7/3 3:12:01

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

学习大数据,必须了解linux基础命令,本文是基于centos7.0:

1.pwd: 显示当前所在的路径

2. 家目录:linux系统里的家目录(即用户目录)是存放个人数据。除了root用户,其他用户的设置文件,桌面文件以及个人数据都是放在各自的用户目录下。

root /root

nemo /home/nemo

xxxxx /home/xxx

自己的家目录路径,可以在命令行下输入命令echo $HOME

3.cd: 切换目录

cd /home/hadoop

cd : 切换到当前用户的home

cd ~ : 切换到当前用户的home

cd - : 切换到上一次的目录

cd ../: 退回到上一层目录

../代表一层

4.clear: 清空当前session

5.ls: 打印当前目录的所有的文件夹和文件的名称

ls -l == ll  (alias设置的) 查看文件夹和文件的名称,权限,日期

隐藏:是以.开头的文件或文件夹

ls -l -a == ll -a == ls -la 查看隐藏文件夹和文件

      ll -h 文件的大小

ll -rt 按时间排序

6.ifconfig 查看当前ip linux

ipconfig window

备注:云服务器 只有内网网卡,外网网卡  kafka

7.文件创建

vi

touch xxx.log 创建一个空的文件

8.文件夹创建

mkdir xxx 创建1层

mkdir -p 1/2/3 连续创建3层

mkdir 4 5 6 同层1下子创建3个目录

9.mv 移动文件或文件夹 原路径是不存在

mv 20180427.log dokcer/

10.cp 复制文件或者文件夹 原路径是存在的

文件: cp 20180502.log dokcer/

文件夹: cp -r 4 1/

注意点:

1)功能上的区别

mv:用户可以使用该命令为文件或目录重命名或将文件由一个目录移入另一个目录中。

cp:该命令的功能是将给出的文件或目录拷贝到另一文件或目录中。

2)从inode角度来区分

mv:会将存储于indoe索引节点上的文件元信息也移动到新文件中。

cp:只会复制文件数据,不会复制inode索引节点上的文件元信息。

例:1.txt到test

注意看inode号的变化。mv命令执行后,test的inode号变成了1.txt的inode号,而cp命令执行后,test、1.txt两个文件的inode号没有发生变化 。

11.查看文件的内容

cat 20180427.log 一下子将内容刷新出来

more 20180427.log 一页页的按空格键翻

less 20180427.log

注意点:less命令非常强大,在此只介绍几个常用的参数,更多参数使用man less来查看Linux帮助手册。

-b <缓冲区大小> 设置缓冲区的大小

-e 当文件显示结束后,自动离开

-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件

-g 只标志最后搜索的关键词

-i 忽略搜索时的大小写

-m 显示类似more命令的百分比

-N 显示每行的行号

-o <文件名> 将less 输出的内容在指定文件中保存起来

-Q 不使用警告音

-s 显示连续空行为一行

-S 行过长时间将超出部分舍弃

-x <数字> 将"tab"键显示为规定的数字空格

/字符串:向下搜索"字符串"的功能

?字符串:向上搜索"字符串"的功能

n:重复前一个搜索(与 / 或 ? 有关)

N:反向重复前一个搜索(与 / 或 ? 有关)

b 向后翻一页

d 向后翻半页

h 显示帮助界面

Q 退出less 命令

u 向前滚动半页

y 向前滚动一行

空格键 滚动一行

回车键 滚动一页

[pagedown]: 向下翻动一页

[pageup]: 向上翻动一页

一次查看多个文件

less linuxdaxue.com-access_log linuxdaxue.com-error_log

说明:

输入 :n后,切换到linuxdaxue.com-error_log

输入 :p 后,切换到linuxdaxue.com-access_log

1)分屏导航

ctrl + F - 向前移动一屏

ctrl + B - 向后移动一屏

ctrl + D - 向前移动半屏

ctrl + U - 向后移动半屏

2)单行导航

j - 向前移动一行

k - 向后移动一行

3)其它导航

G - 移动到最后一行

g - 移动到第一行

4)其它命令

v - 使用配置的编辑器编辑当前文件

h - 显示 less 的帮助文档

&pattern - 仅显示匹配模式的行,而不是整个文件

q / ZZ - 退出 less 命令

5)标记导航

当使用 less 查看内容比较多的文件时,可以作一个标记,然后就能通过命令导航到标有特定标记的文本位置,方式如下所示:

ma - 使用 a 标记文本的当前位置

'a - 导航到标记 a 处

******************************************

12.tail 实时查看文件内容

tail -f 20180427.log

tail -F 20180427.log

说明:-F = -f -retry

http://blog.itpub.net/30089851/viewspace-2134067/

tail -200f install.log.syslog 倒着查看最新200行,且实时

log4j 10份

xxx.log 系统记录日志10份

100M就切1次:

mv xxx.log xxx.log1

touch xxx.log

13.echo 命令

echo "456" > 20180502.log 覆盖

echo "123" >> 20180502.log 追加

echo "1234" 输出打印

14.别名

alias

临时: alias rz='cd /root/gordon/1/'

永久: 取决于设置全局还是个人

15.环境变量文件

全局:

/etc/profile

source /etc/profile 生效

个人: .bash_profile 、.bashrc

~/.bash_profile

source ~/.bash_profile 生效

. ~/.bash_profile 生效

16.删除

rm xxx.log 删除一个文件,询问

rm -f xxx.log 删除一个文件,不询问

rm -rf xxx 删除文件夹

rm -rf / 不能做

注意点:

在shell脚本:一定要校验path变量是否等于空

path=""

rm -rf $path/* ==> rm -rf /*

17.设置变量

path=6

key=value

$ export HELLO="Hello!"

$ echo $HELLO

18.history !70 查看历史命令和执行第70行

19.用户,用户组的常用命令

[root@hadoop01 ~]# ll /usr/sbin/user*

-rwxr-x---. 1 root root 118192 11月 6 2016 /usr/sbin/useradd

-rwxr-x---. 1 root root 80360 11月 6 2016 /usr/sbin/userdel

-rwxr-x---. 1 root root 113840 11月 6 2016 /usr/sbin/usermod

-rwsr-xr-x. 1 root root 11288 8月 4 2017 /usr/sbin/usernetctl

[root@hadoop01 ~]#

[root@hadoop01 ~]# ll /usr/sbin/group*

-rwxr-x---. 1 root root 65480 11月 6 2016 /usr/sbin/groupadd

-rwxr-x---. 1 root root 57016 11月 6 2016 /usr/sbin/groupdel

-rwxr-x---. 1 root root 57064 11月 6 2016 /usr/sbin/groupmems

-rwxr-x---. 1 root root 76424 11月 6 2016 /usr/sbin/groupmod

[root@hadoop01 ~]#

自动创建一个用户和用户组,名称一样

[root@hadoop01 ~]# useradd nemo

[root@hadoop01 ~]# id nemo

uid=1002(nemo) gid=1003(nemo) 组=1003(nemo)

gid: 主组

groups:所有组

删除

[root@hadoop01 ~]# userdel nemo

[root@hadoop01 ~]# id nemo

id: nemo: no such user

[root@hadoop01 ~]#

再次创建

[root@hadoop01 ~]# useradd nemo

useradd:警告:此主目录已经存在。

不从 skel 目录里向其中复制任何文件。

正在创建信箱文件: 文件已存在

[root@hadoop01 ~]#

查看/home/xxx用户名称的文件夹

[root@hadoop01 ~]# ll /home/

总用量 0

drwx------. 2 gordon bigdata 83 6月 2 15:36 gordon

drwx------. 2 hadoop hadoop 83 6月 2 22:47 hadoop

drwx------. 2 nemo nemo 62 6月 12 20:43 nemo

[root@hadoop01 ~]#

用户和用户组的文件

[root@hadoop01 ~]# cat /etc/passwd | grep nemo

nemo:x:1002:1003::/home/nemo:/bin/bash

[root@hadoop01 ~]# cat /etc/group | grep nemo

nemo:x:1003:

[root@hadoop01 ~]#

-g后面的组是用户的主组,-G后面的组是用户的附加组

[root@hadoop01 ~]# groupadd bigdata

groupadd:“bigdata”组已存在

[root@hadoop01 ~]# id nemo

uid=1002(nemo) gid=1003(nemo) 组=1003(nemo)

[root@hadoop01 ~]# usermod -a -G bigdata nemo

[root@hadoop01 ~]# id nemo

uid=1002(nemo) gid=1003(nemo) 组=1003(nemo),1001(bigdata)

[root@hadoop01 ~]# usermod -g bigdata nemo

[root@hadoop01 ~]# id nemo

uid=1002(nemo) gid=1001(bigdata) 组=1001(bigdata)

20.管道符 |

cat /etc/passwd | grep nemo

[root@hadoop01 ~]# cat /etc/passwd | grep nemo

nemo:x:1002:1001::/home/nemo:/bin/bash

21.查看命令帮助

usermod --help

man usermod

22.设置密码

passwd nemo

23.切换用户

[root@hadoop01 ~]# su nemo

[nemo@hadoop01 root]$ pwd

/root

[nemo@hadoop01 root]$ su - nemo

密码:

上一次登录:二 6月 12 21:02:31 CST 2018pts/0 上

[nemo@hadoop01 ~]$

- 1.切换用户之后,执行环境变量文件.bash_profile

2.且进入该用户的家目录

hadoop

su hadoop su - hadoop

xxxx xxxxxx

记住2件事:1. history

       2.  查看环境变量文件

24.exit 退出当前用户,返回上一次用户

25.临时获取root的权限 sudo

[hadoop@hadoop01 ~]$ rz

-bash: cd: /root/ruoze/6/: Permission denied

[hadoop@hadoop01 ~]$

[hadoop@hadoop01 ~]$ sudo rz

我们信任您已经从系统管理员那里了解了日常注意事项。

总结起来无外乎这三点:

#1) 尊重别人的隐私。

#2) 输入前要先考虑(后果和风险)。

#3) 权力越大,责任越大。

将一个用户添加到/etc/sudoers文件然后无密码

[root@hadoop01 ~]$ vi /etc/sudoers

## Allow root to run any commands anywhere

root ALL=(ALL) ALL

hadoop ALL=(root) NOPASSWD:ALL

[nemo@@hadoop01 ~]$ ls -l /root

ls: cannot open directory /root: Permission denied

[nemo@hadoop01 ~]$

[nemo@hadoop01 ~]$ sudo ls -l /root

total 108

-rw-r--r--. 1 root root 0 May 2 21:12 20180502.log

-rw-------. 1 root root 1382 Apr 28 05:21 anaconda-ks.cfg

drwxr-xr-x. 3 root root 4096 Apr 27 22:37 Desktop

drwxr-xr-x. 2 root root 4096 Apr 27 21:40 Documents

drwxr-xr-x. 2 root root 4096 Apr 27 21:40 Downloads

-rw-r--r--. 1 root root 49565 Apr 28 05:20 install.log

-rw-r--r--. 1 root root 10033 Apr 28 05:16 install.log.syslog

drwxr-xr-x. 2 root root 4096 Apr 27 21:40 Music

drwxr-xr-x. 2 root root 4096 Apr 27 21:40 Pictures

drwxr-xr-x. 2 root root 4096 Apr 27 21:40 Public

drwxr-xr-x. 2 root root 4096 Apr 27 21:40 Templates

drwxr-xr-x. 2 root root 4096 Apr 27 21:40 Videos

26.进程

查看

[nemo@hadoop01 ~] ps -ef | grep tail

root 24215 2254 0 21:29 pts/1 00:00:00 tail -f 20180502.log

root 26027 2254 0 21:32 pts/1 00:00:00 tail -F 20180502.log

root 26034 2254 0 21:35 pts/1 00:00:00 tail -F 20180502.log

root 26049 2254 0 21:37 pts/1 00:00:00 tail -F 20180502.log

第二列是pid

kill -9 24215

杀死关于tail命令的所有进程之前,ps -ef|grep tail查看确认清楚

kill -9 26027 26034 26049

kill -9 $(pgrep -f tail)

27.端口号

[nemo@hadoop01 ~]$ ps -ef|grep ssh

root 989 1 0 20:34 ? 00:00:00 /usr/sbin/sshd -D

root 1824 989 0 20:35 ? 00:00:00 sshd: root@pts/0

root 2141 989 0 21:21 ? 00:00:01 sshd: root@pts/1

nemo 2260 2238 0 21:29 pts/1 00:00:00 grep --color=auto ssh

[root@hadoop01 ~]# netstat -nlp|grep 1432

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1432/sshd

tcp 0 0 :::22 :::* LISTEN 1432/sshd

打开某个xxx服务的web界面: http://ip:端口/

ifconfig

ps -ef|grep xxx -->pid

netstat -nlp|grep pid -->port

netstat -nlp|grep xxx -->port

28.权限

[root@hadoop01 ~]# ll

总用量 12

drwxr-xr-x. 4 root root 24 6月 2 14:17 1

drwxr-xr-x. 2 root root 6 6月 2 14:06 5

drwxr-xr-x. 2 root root 6 6月 2 14:06 6

drwxr-xr-x. 2 root root 38 6月 2 14:15 7

-rwxr-xr-x. 1 root root 29 6月 9 04:42 a.sh

drwxr-xr-x. 2 root root 6 6月 2 14:04 gordon

-rw-r--r--. 1 root root 111 6月 2 18:11 gordon.tar.gz

-rw-r--r--. 1 root root 204 6月 2 14:33 log2.log

-rw-r--r--. 1 root root 0 6月 2 17:47 logs2.log

读: r 4

写: w 2

执行: x 1 shell脚本

无权限:-

第一列 drwxr-xr-x

第一个: d文件夹 -文件 l连接

rwx r-x r-x: 三组

       第一组: rwx 7  代表root用户对这个文件或文件夹的权限

      第二组: r-x 5  代表root用户组的所有用户对这个文件或文件夹的权限

       第三组: r-x 5  代表其他组的所有用户对这个文件或文件夹的权限

第三列: 所属的用户root

第四列:所属的组root

Permission denied hadoop

修改文件和文件夹的权限

chmod 777 xxx.log

chmod -R 755 xxxdir

chmod -R 755 xxxdir/*

修改文件和文件夹的所属的用户和用户组

chown nemo:nemo xxx.log

chown -R nemo:nemo xxxdir

chown -R nemo:nemo xxxdir/*

xxx服务 安装目录的 xxxuser:xxxuser

可执行: 针对于shell脚本

chmod 764 date.sh 只对所属的用户

chmod +x date.sh 所有的用户

29.yum

yum --help 命令帮助格式

yum -y install httpd

[root@hadoop01 ~]# netstat -nlp|grep 2525

tcp 0 0 :::80 :::* LISTEN 2525/httpd

:::80

127.0.0.1:80

0.0.0.0:80

192.168.137.251:80

timeout 去查看服务的端口号对应的ip

ping 192.168.137.251

[root@hadoop01 ~]# yum install telnet

https://jingyan.baidu.com/article/95c9d20d96ba4aec4f756154.html

[root@hadoop01 ~]# which telnet

/usr/bin/telnet

[root@hadoop01 ~]# telnet 192.168.137.251 80

Trying 192.168.137.251…

Connected to 192.168.137.251.

Escape character is '^]'.

^Z^X^C^Z

Connection closed by foreign host.

[root@hadoop01 ~]# telnet 192.168.137.251 808

Trying 192.168.137.251…

telnet: connect to address 192.168.137.251: Connection refused

卸载:

[root@hadoop01 ~]# rpm -qa |grep http

httpd-tools-2.2.15-60.el6.centos.6.x86_64

httpd-2.2.15-60.el6.centos.6.x86_64

[root@hadoop01 ~]# rpm --nodeps -e httpd-2.2.15-60.el6.centos.6.x86_64

拓展: CentOS6.x使用163和epel yum源的选择

http://blog.itpub.net/30089851/viewspace-2130239/

30.找命令或者shell脚本

[root@hadoop01 ~]# which java

/usr/bin/java

[root@hadoop01 ~]# locate java

31.搜索

find / -name '*abc*' 全文

find /tmp -name '*abc*' 指定目录

find ./ -name '*hadoop*' 当前目录

32.vi

vi xxx.log

i键--》编辑模式,增加删除修改文件内容

ecs键--》命令模式

再按shift+冒号键--》尾行模式 ,按w,q键 保存退出

命令模式: i键进入编辑 或者 shift+: 进入尾行模式

gg 第一行的第一个字符

G 最后一行的第一个字符

shift +$ 行尾

dd 删除当前行

dG 删除光标以下的所有行

ndd 删除光标以下的n行

场景: 清空一个文件

  echo '' > xxx.log   --清空有可能清不干净

  cat /dev/null > xxx.log   --清空为0字节  建议使用。

  vi:  1.gg 

       2.dG

编辑模式: esc退出到命令模式

尾行模式:

 :q  退出

 :q! 强制退出

 :wq 保存退出

 :wq! 强制保持退出

 :/内容  n向下 N向上

行号

:set nu

:set nonu

跳转第N行

:n

33.查看硬盘 内存 系统情况

df -h

free -m

Top

34.压缩 tar

Examples:

tar -cf archive.tar foo bar # Create archive.tar from files foo and bar.

tar -tvf archive.tar # List all files in archive.tar verbosely.

tar -xf archive.tar # Extract all files from archive.tar.

[root@hadoop01 ~]# tar -czf gordon.tar.gz gordon/* 压缩

[root@hadoop01 ~]# tar -xzvf gordon.tar.gz 解压

35.压缩 zip

zip -r gordon.zip gordon/*

unzip gordon.zip

******************************************************************

36.rz sz 用于linux和windows之间传输文件

yum install lszrz

rz: window-->linux

sz: linux-->window

rz

sz gordon.log

37.作业调度

crontab

    -e      (edit user's crontab) 编辑

    -l      (list user's crontab) 查看

[root@hadoop01 ~]# crontab -e

* * * * * /root/date.sh >> /tmp/date.log

格式: * * * * * 命令

  每1分钟

5月6号 14:37

37 14 06 05 *

第1个: 分 * 或者 */1 表示每分钟

第2个: 小时

第3个: 日

第4个: 月

第5个: 周

每10秒:

休眠sleep 10s

[root@hadoop01 ~]# vi date.sh

!/bin/bash

for((i=1;i<=6;i++));

do

    date

    sleep 10s

done

[root@hadoop01 ~]# crontab -e

* * * * * /root/date.sh >> /tmp/date.log

38.绝对路径和相对路径

cd /root/nemo

cd nemo

./nemo

39.后台执行命令 不交互

./date.sh &

nohup ./date.sh

生产:

==> nohup ./date.sh &

nohup ./date.sh > /tmp/date.log 2>&1 &

screen 多人合作 后台会话

[root@hadoop01 ~]# yum install screen

-S sockname 创建一个会话

-r 进入一个detached会话

-list 查看会话列表

会话状态:

1.detached 无人

2.Attached 有人

退出会话,会话后台执行: crtl+a+d

[root@hadoop01 ~]# screen -S ruozedata

[root@hadoop01 ~]# screen -list

There is a screen on:

    2380.ruozedata  (Attached)

1 Socket in /var/run/screen/S-root.

[root@hadoop01 ~]# screen -r 2380

[root@hadoop01 ~]# screen -r ruozedata

40.下载软件: wget xxxx连接

转载于:https://my.oschina.net/gordonnemo/blog/1829193


http://www.niftyadmin.cn/n/4585943.html

相关文章

Coinbase:关于跨链桥的基础知识、事实和统计数据

Coinbase&#xff1a;关于跨链桥的基础知识、事实和统计数据 介绍 桥是一个较新的概念&#xff0c;在2021年开始流行。桥允许加密货币持有者在不同区块链之间“移动”(或“桥接”)他们的资产。这使他们能够从一条链跳到另一条链并接触其他网络。 我们发现从2021年4月开始&…

[BIM]BIM中IFD介绍

第三大支柱IFD - 确定交换的信息和你要的信息是同一个东西 IFD的全称是International Framework for Dictionaries&#xff0c;中文可以叫“国际字典框架”&#xff0c;和前两者IFC/IDM一样&#xff0c;作为BIM用户&#xff0c;能记住IFD的名字和记住IFD是字典就行了。 用BI…

使用 Nodejs、MetaMask 和 OpenSea 来进行 NFT登录

使用 Nodejs、MetaMask 和 OpenSea 来进行 NFT登录 假设我们想要构建一个应用程序&#xff0c;其中只有来自特定集合的NFT的所有者才能登录。 需要使用的技术&#xff1a; Nodejs用于后端/API。用于客户端登录的Metamask。用于NFT所有权验证的OpenSea API。 这是Authenticat…

菱形虚拟继承虚函数表对象模型

菱形继承&#xff1a;Assitant的菱形继承对象模型Assitant中有两份Person成员&#xff0c;存在二义性和数据冗余。所以我们引出了虚拟继承。virtual虚继.不会在子类中创建父类成员&#xff0c;但是子类中可以引用&#xff0c;就像指针一样。主要用在菱形继承&#xff0c;也叫钻…

cmder中git log 文乱码

2019独角兽企业重金招聘Python工程师标准>>> 打开设置; Startup-Environment; 添加 set LANGzh_CN.UTF-8 git status时中文文件名乱码 现象&#xff1a; \344\275\240\345\245\275执行以下命令即可&#xff1a; git config --global core.quotepath false quotepath…

题解 P1434 【滑雪】

题目链接 此题运用功能强大的 ~~暴力搜索~~ 记忆化搜索才是重点&#xff01;&#xff01;&#xff01; 然而&#xff0c;这是一道经典的DP问题 如果我们用$dis[i][j]$来表示坐标为$(i,j)$时的高度 $cnt[i][j]$ 是我们的记忆化数组 在合法的前提下&#xff0c;就有状态转移方程…

加密领域第一季度回顾和市场展望

加密领域第一季度回顾和市场展望 快览&#xff1a; 尽管市场低迷&#xff0c;但加密投资在第一季度仍然非常活跃。在基础设施方面&#xff0c;我们在跨链解决方案和DAO工具中看到了很多的动向。新的 layer-1仍在孵化中。在以太坊上开发的DeFi原语正在扩展到更新的L1&#xff0…

hadoop2-shell操作详解

转载之&#xff1a;https://www.cnblogs.com/870386641drh/p/4262593.html FS Shell调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args>的形式。 所有的的FS shell命令使用URI路径作为参数。URI格式是scheme://authority/path。对HDFS文件系统&#xff0c;scheme是hd…