linux命令

Linux基础命令

1.Linux文件与目录管理

  1. pwd 这个命令打印出当前所在目录

  2. cd 进入到某一个目录 , cd ./ 指的是当前目录,cd …/ 指的是当前目录的上一级目录 cd …/…/…/ ,跳到当前目录的上一级的上一级目录。

  3. mkdir 创建一个目录 mkdir aa 这是相对路径的写法,在当前目录创建一个文件夹 mkdir /data 这是绝对路径的写法,在根目录下创建data文件夹

  4. mkdir -p 递归创建目录 mkdir -p /user/zhm/test p—>parents

  5. ls 展示这个目录下的所有子目录
    ll 显示当前目录下文件详细信息

  6. rmdir 只能删除一个空目录

  7. rm 只能删除文件

  8. rm -r 递归删除 可以删除指定文件夹的所有文件,此命令要询问是否删除?
    rm -rf dir1 强制删除 不询问是否删除,直接就执行删除文件夹的命令

  9. cp copy的简写,即拷贝格式为 cp [选项] [ 来源文件 ] [目的文件]

  10. cp -r 拷贝一个目录,必须要加-r选项,-r 递归复制

  11. mv 移动的意思,是move的简写。格式为 mv [ 选项 ] [源文件] [目标文件] 在同一个文件下,就是重命名。

  12. mv-i 和cp的-i 一样,当目标文件存在时会问用户是否要覆盖。

  13. cat 查看一个文件的内容并显示在屏幕上 -n 查看文件时,把行号也显示到屏幕上。

  14. echo “this is test” > test.txt 在当前目录下面创建一个test.txt文件,同时写入内容"this is test"

  15. ctrl + l 清屏

  16. ctrl + c 停止进程

  17. 善于用tab键

  18. 修改linux环境变量 vi ~/.bash_profile

  19. 查看环境变量值 echo ${JAVA_HOME}

  20. 切取一个大文件,生成一个新文件
    header -10000 access.log >> 10000_access.log //取出前1万行,生成100-00_access.log文件

  21. ~ 表示代码主目录,也就是当前登录用户的用户目录
    cat ~/.bash_profile 查看登录用户当前环境变量

  22. 查看文件 more 10000_access.log

  23. 查找文件命令 find
    (1)find / -name httpd.conf  #在根目录下查找文件httpd.conf,表示在整个硬盘查找
    (2)find /etc -name httpd.conf  #在/etc目录下文件httpd.conf
    (3)find /etc -name ‘srm’  #使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件
    (4)find . -name ‘srm*’   #表示当前目录下查找文件名开头是字符串‘srm’的文件

  24. 统计文件字符出现的次数
    grep -o ‘keyword’ my_file.txt | wc -l

2. Vi编辑器

2.1 vi的三种模式
  • 一般模式:当你vim filename 编辑一个文件时,进入该文件就是一般模式了。在这个模式下,你可以做的操作有,上下移动光标;删除某个字符;删除某行;复制、粘贴一行或者多行。

  • 编辑模式:一般模式下,是不可以修改某一个字符的,只能到编辑模式了。从一般模式进入编辑模式,只需你按一个键即可(i,I,a,A,o,O,r,R)。当进入编辑模式时,会在屏幕的最下一行出现“INSERT或REPLACE”的字样。从编辑模式回到一般模式只需要按一下键盘左上方的ESC键即可。

  • 命令模式:在一般模式下,输入”:”或者”/”即可进入命令模式。在该模式下,你可以搜索某个字符或者字符串,也可以保存、替换、退出、显示行号等等。

2.2 命令模式

在一般模式下执行下面命令

  1. Ctrl + f 或者pageUP键, 屏幕向前移动一页

  2. Ctrl + b 或者pageDOWN键 屏幕向后移动一页

  3. 0(数字0)或者Shift+6 移动到本行行首

  4. shift+4 即’$’移动到本行行尾

  5. nG(n是数字) 移动到该文本的第n行

  6. x,X x为向后删除一个字符,X为向前删除一个字符

  7. dd 删除光标所在的那一行

  8. ndd(n为数字) 删除光标所在的向下n行

  9. yy 复制光标所在的那行

  10. nyy 复制从光标所在行起向下n行

  11. p,P p复制的数据从光标下一行粘贴,P则从光标上一行粘贴

一般模式进入编辑模式,按(i,I,a,A,o,O,r,R) 字母进入编辑模式

等编辑完内容后,按ESC退出编辑模式,进入一般模式,此时在左下方的”INSERT”字样消失

然后按”:”进入命令模式,最后输入wq保存并退出vim

命令模式下执行下面命令

  1. wq 退出保存

  2. q! 不保存,退出

  3. w 编辑过的文本保存

  4. set nu 在每行的行首显示行号

  5. /字符串 查找字符串, 键“n” 查找下一个

  6. 命令模式:保存文件,退出编写,查找文件中的字符。
    编辑模式:编写文件
    一般模式:用于快捷操作编辑文字

3. 文件权限

3.1 概述
  • ll命令可以查看一个文件夹的详细信息,包括权限。
  • linux文件权限的描述格式解读
    drwxr-xr-x (也可以用二进制表示 111 101 101 --> 755)
    d:标识节点类型(d:文件夹 -:文件 l:链接)
    r:可读 w:可写 x:可执行
    第一组rwx: 表示这个文件的拥有者对它的权限:可读可写可执行
    第二组r-x: 表示这个文件的所属组对它的权限:可读,不可写,可执行
    第三组r-x: 表示这个文件的其他用户(相对于上面两类用户)对它的权限:可读,不可写,可执行
3.2 修改文件权限
ch-->change 
mod-->mode 
g-->group   	 
o-->other 	
u-->user
chmod g-rw a.txt   表示将a.txt对所属组的rw权限取消
chmod o-rw a.txt   表示将a.txt对其他人的rw权限取消
chmod u+x a.txt    表示将a.txt对所属用户的权限增加x

也可以用数字的方式来修改权限

chmod 664 a.txt   
就会修改成   rw-rw-r-- 110 110 100
如果要将一个文件夹的所有内容权限统一修改,则可以-R参数
chmod -R 770 a/  对a文件夹授权  drwxrwx---

4. 系统管理操作

1. 修改主机名 vi /ect/sysconfig/network
NETWORKING=yes
HOSTNAME= zhm
2. 重启 reboot
3. 关机 halt
4. 查看磁盘的空间 df -h
5. 统计文件大小或文件夹的大小 du - sh + 文件夹路径
6. netstat -aon|findstr “xxxx” 根据端口查找pid
7. ps - ef | grep xxxx 查看某个应用是否允许

	useradd wt 添加一个用户
	要修改密码才能登陆  passwd wt  按提示输入密码即可

	**为用户配置sudo权限
	用root编辑 vi /etc/sudoers
	在文件的如下位置,为hadoop添加一行即可
	root    ALL=(ALL)       ALL     
	hadoop  ALL=(ALL)       ALL

8.修改ip地址 vi /etc/sysconfig/network-scripts/ifcfg-etho

	DEVICE=eth0
	TYPE=Ethernet
	ONBOOT=yes     #是否开机启用
	BOOTPROTO=static   #ip地址设置为静态
	IPADDR=192.168.0.101
	NETMASK=255.255.255.0
	GATEWAY=192.168.0.1
	service network restart

9.修改ip地址和主机名的映射关系 vi /etc/hosts

	127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
	::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
	192.168.0.101 www.zhmcode.com

10.关闭iptables并设置其开机启动/不启动

    关闭防火墙
	service iptables stop 
	开启防火墙
	service iptables start
	防火墙开机自动启动
	chkconfig iptables on 
	防火墙开机不自动启动
	chkconfig iptables off 

    centos7防火墙设置
    
    查看防火墙状态
    systemctl  status firewalld
    
    关闭防火墙
    systemctl stop firewalld
    设置启动关闭防火墙
    systemctl disable firewalld
    设置启动开启防火墙
	systemctl enable firewalld

11.ssh无密登录

mini版centos没有ssh客户端先要安装ssh客户端,安装命令 
首先要坚持虚拟机是否能ping得通www.baidu.com

1. ping不通,先要配置DNS 
vi  /etc/resolv.conf   添加一行 
nameserver 8.8.8.8
2. 配置VMnet8属性-->ipv4,使用IP地址,网关要和/etc/sysconfig/network-scripts/ifcfg-enth33 的网关保持一样,
3. 重启网络service network restart
4. ping通后就可以使用yum安装
yum -y install openssh-clients 
ssh无密登录要先使用rsa算法生成私钥与公钥
ssh-keygen
然后将产生的公钥复制到要无名登录的系统中
ssh-copy-id + 无密登录的系统ip或主机名
设置后测试是否无密登录成功:ssh root@192.168.116.3(无密登录的主机名)  

12.用户与组

12.1 adduser 添加用户:
	adduser [-u uid][-g group][-d home][-s shell]
	-u:直接给出userID                     
	-g:直接给出GID
	-d:直接将根目录建立在已存在目录        
	-s:定义shell

12.2 passwd 设置用户密码:
	passwd [用户名] 设置密码

12.3 usermod 禁用、启用帐号:
	usermod -L [用户名] 禁用帐号
	usermod -U [用户名] 启用帐号
	usermod -e YYYY-MM-DD [用户名]
    eg: useradd  -d  "/home/zhm"   -m   -s "/bin/bash"   zhm
12.4 groupadd 创建组:
	groupadd [-g gid [-o]] [-r] [-f] group

	12.4.1 创建用户的时候指定用户属于那个用户组:
	usersadd -g group_name user_name

	12.4.2 更改用户的用户组:
	usermod –g group_name user_name

	12.4.3 将用户添加到其它组:
	usermod –G group_name user_name
	
12.5 查看linux中所有用户的信息: cat /etc/passwd

12.6 建工作组
	groupadd  group_name

12.7 永久删除用户账号
	userdel + user_name
	groupdel+ group_name 删除用户组;
	groupmod 注:修改用户组信息
	groups 注:显示用户所属的用户组

13.rz 与 sz 上传下载文件命令

rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具。
优点就是不用再开一个sftp工具登录上去上传下载文件。

sz:将选定的文件发送(send)到本地机器
rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器

安装命令:
yum install lrzsz
从服务端发送文件到客户端:
sz filename
从客户端上传文件到服务端:
rz
在弹出的框中选择文件,上传文件的用户和组是当前登录的用户
SecureCRT设置默认路径:
Options -> Session Options -> Terminal -> Xmodem/Zmodem ->Directories
Xshell设置默认路径:
右键会话 -> 属性 -> ZMODEM -> 接收文件夹

14.修改用户密码
键入: passwd 命令 -----> 然后输入old password ----->在输入两次新的密码即可

15.su命令与sudo命令
su是切换到其他用户,但是不切换环境变量(比如说那些export命令查看一下,就知道两个命令的区别了)
su - 是完整的切换到一个用户环境
所以建议大家切换用户的时候,尽量使用 su - root,否则可能发现某些命令执行不了
从超级用户root变成普通用户,输入exit命令即可

由于su(或是su - root)切换到超级权限用户root后,权限无限制,可以使用root的所有权限, 如果多个普通用户同时切换到root用户对系统进行操作,可能会出现不同人对同一个文件进行不同操作,那很不安全。

通过sudo,我们能把某些root账号拥有的权限针对性的赋权给普通用户,并且不需要普通用户知道root密码,所以sudo 相对于权限无限制性的su来说,还是比较安全的,因此sudo被称为受限制的su或授权许可的su。

sudo 执行命令的流程是当前用户切换到root(或其它指定切换到的用户),然后以root(或其它指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户。而这些的前提是要通过修改配置文件/etc/sudoers来进行授权。

16.telnet 的使用
1)建立与远程主机的TCP连接。默认端口为23号端口,如果远程主机上的Telnet服务器软件一直在这个端口上侦听到连接请求,则这个连接便会建立起来。
2)以终端方式为用户提供人机界面。
3)将用户输入的信息通过telnet协议传送给远程主机。
4)接受远程主机发送来的信息,并经过适当的转换显示在用户计算机的屏幕上。

安装: yum -y install telnet
连接服务端: telnet 192.168.126.31 44444

windows 上打开telnet
控制面板---->程序和功能---->打开或关闭windows功能---->找到telnet ,系统默认是关闭的,打开就好

windows 上的telnet 可以测试linux上的ip + 端口号是否连接通
telnet 192.168.126.31 9092 //测试是否可以连接到kafka

17.nc的使用
NetCat,在网络工具中有“瑞士军刀”美誉
安装:yum install -y nc
查看安装: yum -q nc

1) 只显示监听端口 netstat -l
只列出所有监听 tcp 端口 netstat -lt
只列出所有监听 udp 端口 netstat -lu

2) 在 netstat 输出中显示 PID 和进程名称 netstat -p

3) netstat -tnlp 查看运行端口号,名称,运行情况

4) netstat -tnl |grep 23 查看某个端口号是否开启

模拟服务器接收数据:nc -lp 8888 //监听一个端口

然后使用telnet 客服端发送数据: telnet localhost 8888

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值