Linux常用命令 Posted 2020-12-27 壹点灵异
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux常用命令相关的知识,希望对你有一定的参考价值。
日常操作命令
查看当前所在的工作目录的全路径 pwd
1 2
[root@localhost ~]# pwd /root
查看当前系统的时间 date
1 2 3 4 5 6 7 8
[[email protected] ~]# date +%Y-%m-%d 2016 -07 -26 date +%Y-%m-%d --date="-1 day" #加减也可以 month | year 2016 -07 -25 [[email protected] ~]# date -s "2016-07-28 16:12:00" ## 修改时间 Thu Jul 28 16 :12 :00 PDT 2016
查看有谁在线(哪些人登陆到了服务器)
1 2 3 4 5 6 7 8 9 10 11 12
who 查看当前在线 [[email protected] ~]# who hadoop tty1 2016 -07 -26 00 :01 (:0 ) hadoop pts/0 2016 -07 -26 00 :49 (:0.0 ) root pts/1 2016 -07 -26 00 :50 (192.168 .233 .1 ) last 查看最近的登陆历史记录 [[email protected] ~]# last root pts/1 192.168 .233 .1 Tue Jul 26 00 :50 still logged in hadoop pts/0 :0.0 Tue Jul 26 00 :49 still logged in hadoop tty1 :0 Tue Jul 26 00 :01 still logged in reboot system boot 2.6 .32 -573. el6.x Tue Jul 26 07 :58 - 16 :23 (2 +08 :24 )
关机/重启
1 2 3 4 5 6 7 8 9
关机(必须用root用户) shutdown -h now ## 立刻关机 shutdown -h +10 ## 10分钟以后关机 shutdown -h 12 :00 :00 ##12点整的时候关机 halt # 等于立刻关机 重启 shutdown -r now reboot # 等于立刻重启
清屏
退出当前进程
挂起当前进程
1 2 3
ctrl+z bg jobid fg jobid
echo
1 2 3 4 5 6 7
相当于java中System .out .println(userName) [root@localhost ~] [root@localhost ~] a [root@localhost ~] hi boy
目录操作
查看目录信息
1 2 3
ls / ## 查看根目录下的子节点(文件夹和文件)信息ls -al ## -a是显示隐藏文件 -l 是以更详细的列表形式显示ls -l ##有一个别名: ll 可以直接使用ll <是两个L >
切换工作目录
1 2 3 4
cd /home/hadoop cd ~ cd - cd 什么路径都不带,则回到用户的主目录
创建文件夹
1 2 3
mkdir aaa mkdir /data mkdir -p aaa/bbb/ccc
删除文件夹
1 2 3
rmdir aaa ## 可以删除空目录 rm -r aaa ## 可以把aaa 整个文件夹及其中的所有子节点全部删除 rm -rf aaa ## 强制删除aaa
修改文件夹名称
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
mv aaa boy mv本质上是移动 mv install.log aaa/ 将当前目录下的install.log 移动到aaa文件夹中去 rename 可以用来批量更改文件名 [[email protected] aaa]# ll total 0 -rw-r--r--. 1 root root 0 Jul 28 17 :33 1. txt -rw-r--r--. 1 root root 0 Jul 28 17 :33 2. txt -rw-r--r--. 1 root root 0 Jul 28 17 :33 3. txt [[email protected] aaa]# rename .txt .txt.bak * [[email protected] aaa]# ll total 0 -rw-r--r--. 1 root root 0 Jul 28 17 :33 1. txt.bak -rw-r--r--. 1 root root 0 Jul 28 17 :33 2. txt.bak -rw-r--r--. 1 root root 0 Jul 28 17 :33 3. txt.bak
文件操作
创建文件
1 2 3 4 5 6 7 8
touch somefile.1 ## 创建一个空文件 echo "hi,boy" > somefile.2 ## 利用重定向“>”的功能,将一条指令的输出结果写入到一个文件中,会覆盖原文件内容,如果指定的文件不存在,则会创建出来 echo "hi baby" >> somefile.2 ## 将一条指令的输出结果追加到一个文件中,不会覆盖原文件内容
vi文本编辑器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
最基本用法 vi somefile.4 1 首先会进入“一般模式”,此模式只接受各种快捷键,不能编辑文件内容2 按i键,就会从一般模式进入编辑模式,此模式下,敲入的都是文件内容3 编辑完成之后,按Esc键 退出编辑模式,回到一般模式;4 再按:,进入“底行命令模式”,输入wq命令,回车即可常用快捷键 一些有用的快捷键(在一般模式下使用): a 在光标后一位开始插入 A 在该行的最后插入I 在该行的最前面插入gg 直接跳到文件的首行 G 直接跳到文件的末行dd 删除一行 3 dd 删除3 行yy 复制一行 3 yy 复制3 行p 粘贴 u undo v 进入字符选择模式,选择完成后,按y复制,按p粘贴 ctrl+v 进入块选择模式,选择完成后,按y复制,按p粘贴 shift+v 进入行选择模式,选择完成后,按y复制,按p粘贴 查找并替换 1 显示行号:set nu2 隐藏行号:set nonu3 查找关键字:/you 4 替换操作:s/sad/bbb 查找光标所在行的第一个sad,替换为bbb:%s/sad/bbb 查找文件中所有sad,替换为bbb
拷贝/删除/移动
1 2 3 4
cp somefile.1 /home/ hadoop/ rm /home/ hadoop/somefile.1 rm -f /home/ hadoop/somefile.1 mv /home/ hadoop/somefile.1 ../
查看文件内容
1 2 3 4 5 6 7 8 9 10 11 12 13
cat somefile 一次性将文件内容全部输出(控制台) more somefile 可以翻页查看, 下翻一页(空格) 上翻一页(b) 退出(q) less somefile 可以翻页查看,下翻一页(空格) 上翻一页(b),上翻一行(↑) 下翻一行(↓) 可以搜索关键字(/keyword) 跳到文件末尾: G 跳到文件首行: gg 退出less : q tail -10 install .log 查看文件尾部的10 行tail +10 install .log 查看文件 10 tail -f install .log 小f 跟踪文件的唯一inode号,就算文件改名后,还是跟踪原来这个inode表示的文件 tail -F install .log 大F 按照文件名来跟踪 head -10 install .log 查看文件头部的10 行
打包压缩
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
1 、gzip压缩gzip a .txt 2 、解压gunzip a .txt .gz gzip -d a .txt .gz 3 、bzip2压缩bzip2 a 4 、解压bunzip2 a .bz2 bzip2 -d a .bz2 5 、打包:将指定文件或文件夹tar -cvf bak.tar ./aaa 将/etc/password追加文件到bak.tar中(r) tar -rvf bak.tar /etc/password 6 、解压tar -xvf bak.tar 7 、打包并压缩tar -zcvf a .tar .gz aaa/ 8 、解包并解压缩(重要的事情说三遍!!!)tar -zxvf a .tar .gz 解压到/usr/下 tar -zxvf a .tar .gz -C /usr 9 、查看压缩包内容tar -ztvf a .tar .gz zip/unzip 10 、打包并压缩成bz2tar -jcvf a .tar .bz2 11 、解压bz2tar -jxvf a .tar .bz2
查找命令
常用查找命令的使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
1、查找可执行的命令所在的路径: which ls 2、查找可执行的命令和帮助的位置: whereis ls 3、从某个文件夹开始查找文件 find / -name "hadooop*" find / -name "hadooop*" -ls 4、查找并删除 find / -name "hadooop*" -ok rm {} ; find / -name "hadooop*" -exec rm {} ; 5、查找用户为hadoop的文件 find /usr -user hadoop -ls 6、查找用户为hadoop的文件夹 find /home -user hadoop -type d -ls 7、查找权限为777的文件 find / -perm -777 -type d -ls 8、显示命令历史 history
grep命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
1 基本使用查询包含hadoop的行 grep hadoop /etc/passwordgrep aaa ./*.txt 2 cut截取以:分割保留第七段grep hadoop /etc/passwd | cut -d: -f73 查询不包含hadoop的行grep -v hadoop /etc/passwd4 正则表达包含hadoopgrep ‘hadoop‘ /etc/passwd5 正则表达(点代表任意一个字符)grep ‘h.*p‘ /etc/passwd6 正则表达以hadoop开头grep ‘^hadoop‘ /etc/passwd7 正则表达以hadoop结尾grep ‘hadoop$‘ /etc/passwd规则: . : 任意一个字符 a* : 任意多个a(零个或多个a) a? : 零个或一个a a+ : 一个或多个a .* : 任意多个任意字符 . : 转义. o{2 } : o重复两次 查找不是以 grep -v ‘^#‘ a.txt | grep -v ‘^$‘ 以h或r开头的 grep ‘^[hr]‘ /etc/passwd不是以h和r开头的 grep ‘^[^hr]‘ /etc/passwd不是以h到r开头的 grep ‘^[^h-r]‘ /etc/passwd
文件权限的操作
linux文件权限的描述格式解读
1 2 3 4 5 6 7
drwxr-xr-x (也可以用二进制表示 111 101 101 --> 755 ) d:标识节点类型(d:文件夹 -:文件 l:链接) r:可读 w:可写 x:可执行 第一组rwx: ## 表示这个文件的拥有者对它的权限:可读可写可执行 第二组r-x: ## 表示这个文件的所属组用户对它的权限:可读,不可写,可执行 第三组r-x: ## 表示这个文件的其他用户(相对于上面两类用户)对它的权限:可读,不可写,可执行
修改文件权限
1 2 3 4 5 6 7 8 9 10 11
chmod g-rw haha.dat chmod o-rw haha.dat chmod u+x haha.dat chmod a-x haha.dat 也可以用数字的方式来修改权限 chmod 664 haha.dat 就会修改成 rw-rw-r-- 如果要将一个文件夹的所有内容权限统一修改,则可以-R参数 chmod -R 770 aaa/
修改文件所有权
1 2 3 4
<只有root权限能执行> chown angela aaa chown :angela aaa chown angela:angela aaa/
基本的用户管理
1 2 3 4 5 6 7
添加一个用户: useradd spark passwd spark 根据提示设置密码; 即可 删除一个用户: userdel -r spark 加一个-r就表示把用户及用户的主目录都删除
添加用户
1 2 3 4 5 6 7 8
添加一个tom用户,设置它属于users组,并添加注释信息 分步完成:useradd tom usermod -g users tom usermod -c "hr tom" tom 一步完成:useradd -g users -c "hr tom" tom 设置tom用户的密码 passwd tom
修改用户
1 2 3 4 5 6 7 8
修改tom用户的登陆名为tomcat usermod -l tomcat tom 将tomcat添加到sys和root组中 usermod -G sys,root tomcat 查看tomcat的组信息 groups tomcat
用户组操作
1 2 3 4 5 6 7 8 9 10 11 12
添加一个叫america的组 groupadd america 将jerry添加到america组中 usermod -g america jerry 将tomcat用户从root组和sys组删除 gpasswd -d tomcat root gpasswd -d tomcat sys 将america组名修改为am groupmod -n am america
为用户配置sudo权限
1 2 3 4 5 6 7
用root编辑 vi /etc/sudoers 在文件的如下位置,为hadoop添加一行即可 root ALL =(ALL ) ALL hadoop ALL =(ALL ) ALL 然后,hadoop用户就可以用sudo来执行系统级别的指令 [[email protected] ~]$ sudo useradd xiaoming
系统管理操作
挂载外部存储设备
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
可以挂载光盘、硬盘、磁带、光盘镜像文件等 1 / 挂载光驱mkdir /mnt/ cdrom 创建一个目录,用来挂载 mount -t iso9660 -o ro /dev/ cdrom /mnt/ cdrom/ 将设备/ dev/cdrom挂载到 挂载点 : / mnt/cdrom中 2 / 挂载光盘镜像文件(.iso文件)mount -t iso9660 -o loop /home/ hadoop/Centos-6.7.DVD.iso / mnt/centos 注:挂载的资源在重启后即失效,需要重新挂载。要想自动挂载,可以将挂载信息设置到/etc/ fstab配置文件中,如下: /dev/ cdrom /mnt/ cdrom iso9660 defaults 0 0 3 / 卸载 umountumount /mnt/ cdrom 4 / 存储空间查看df -h
统计文件或文件夹的大小
1 2
du -sh /mnt/cdrom/packages df -h 查看磁盘的空间
系统服务管理
1 2 3 4
service sshd status service sshd stop service sshd start service sshd restart
系统启动级别管理
1 2 3 4 5 6 7 8 9 10 11 12 13
vi /etc/inittab # Default runlevel. The runlevels used are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3 , if you do not have networking) # 3 - Full multiuser mode # 4 - unused # 5 - X11 # 6 - reboot (Do NOT set initdefault to this) # id:3 :initdefault: ## 通常将默认启动级别设置为:3
进程管理
1 2 3 4
top free ps -ef | grep ssh kill -9
SSH免密登陆配置
SSH工作机制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1 、相关概念SSH 为 Secure Shell(安全外壳协议) 的缩写。 很多ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。 而SSH就是专为远程登录会话和其他网络服务提供安全性的协议。 SSH是由客户端和服务端的软件组成的 服务端是一个守护进程(sshd),他在后台运行并响应来自客户端的连接请求。 客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。 2 、认证机制从客户端来看,SSH提供两种级别的安全验证。 第一种级别(基于口令的安全验证) 只要你知道自己帐号和口令,就可以登录到远程主机。 第二种级别(基于密钥的安全验证) 需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上, 客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙, 然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。 客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。
密钥登陆方式配置
1 2 3 4 5 6
假如 A 要登陆 B 在A 上操作: 1 / 首先生成密钥对ssh-keygen (提示时,直接回车即可) 2 / 再将A 自己的公钥拷贝并追加到B的授权列表文件authorized_keys中ssh-copy-id B
网络管理
主机名配置
1 2 3 4 5 6 7 8
1 / 查看主机名hostname 2 / 修改主机名(重启后无效)hostname hadoop 3 / 修改主机名(重启后永久生效) vi /ect/sysconfig/network
IP地址配置
1 2 3 4 5 6 7 8 9 10 11
修改IP地址 1 / 方式一:setup用root输入setup命令,进入交互式修改界面 2 / 方式二:修改配置文件 一般使用这种方法(重启后永久生效) vi /etc/sysconfig/network-scripts/ifcfg-eth0 3 / 方式三:ifconfig命令(重启后无效) ifconfig eth0 192.168 .12 .22
网络服务管理
1 2 3 4 5 6 7 8 9 10 11
1 后台服务管理service network status 查看指定服务的状态 service network stop 停止指定服务 service network start 启动指定服务 service network restart 重启指定服务 service 2 设置后台服务的自启配置chkconfig 查看所有服务器自启配置 chkconfig iptables off 关掉指定服务的自动启动 chkconfig iptables on 开启指定服务的自动启动
【来源 】
以上是关于Linux常用命令的主要内容,如果未能解决你的问题,请参考以下文章
linux中怎么查看mysql数据库版本
Linux常用文件管理命令
markdown [Docker] Docker片段列表和命令#linux #docker #snippets
Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段
C#常用代码片段备忘
常用python日期日志获取内容循环的代码片段