linux常用命令
一、重启和关机
- 重启:
init 6
或者reboot
- 关机:
init 0
或者halt
二、清屏
clear
清除当前屏幕上显示的内容。
三、查看服务器的ip地址
ip addr
红框内的就是ip地址
四、查看和设置时间
普通用户可以查看时间,但设置时区和时间需要系统管理员用户登录 。
- 查看时间
date
- 设置时区为中国上海时间。
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- 设置具体时间
date -s "yyyy-mm-dd hh:mi:ss"
例如:date -s “2020-01-18 11:35:38”
五、目录和文件
文件系统是像一棵树,树干是/(根)目录,树枝是子目录,树枝后面还有树枝(子目录中还有子目录),树枝最后是树叶,目录的最后是文件。
目录是由目录+文件名组成的。以/home/maiyongbin/video/read.txt为例
- 全路径文件名包含了完整的目录名和文件名,即/home/maiyongbin/video/read.txt,也称“绝对路径文件名”。
- read.txt是文件名,在目录/home/maiyongbin/video/中
- 目录和文件的绝对路径是从根(/)算起,在任何时候都不会有岐义。
- 登录Linux后,一定处在目录树的某个目录中,这个目录称之为当前工作目录,简称当前目录。
- 目录和文件的相对路径是从当前工作目录算起,如果当前工作目录是/home,那么maiyongbin/video/read.txt等同于/home/maiyongbin/video/read.txt;
- 用Linux的命令操作目录和文件的时候,采用绝对路径和相对路径都可以。
- 一个圆点.表示当前工作目录;
- 两个圆点..表示当前工作目录的上一级目录。
理解绝对路径和相对路径的概念非常重要,在日常操作中,绝对路径和相对路径会同时使用,但是程序员在编写的程序中极少使用相对路径。
六、查看当前工作目录
pwd
七、改变当前工作目录
cd 目录名
示例:
- 进入/home目录
cd /home
- 进入上一级目录
cd ..
- 进入用户的主目录
cd
八、列出目录和文件信息
ls [-lt] 目录或文件名
ls是list的缩写,通过ls命令不仅可以查看目录和文件信息,还可以目录和文件权限、大小、主人和组等信息。
命令 | 功能 |
---|---|
-l | 列出目录和文件的详细信息。 |
-lt | 列出目录和文件的详细信息,按时间降序显示。 |
示例:
- 列出当前工作目录下全部的目录和文件名信息。
ls
- 列出当前工作目录下全部的目录和文件名详细的信息。
ls -l
- 列出当前工作目录下全部的目录和文件名详细的信息,按时间降序显示
ls -lt
- 列出/home目录下全部的目录和文件。
ls /home
- 正则表达式
常用的两种:星号“”和问号“?”
星号“”:匹配任意数量的字符。
问号“?”:匹配一个的字符。 - 列出/home目录下以匹配re*.txt的目录和文件。
1
ls /home/re*.txt
九、创建目录
mkdir 目录名
示例:
- 在当前工作目录下创建aaa目录。
mkdir aaa
- 在当前工作目录的aaa目录下创建bbb目录。
mkdir aaa/bbb
- 创建/tmp/aaa目录。
mkdir /tmp/aaa
十、删除目录和文件
rm [-rf] 目录或文件列表
命令 | 功能 |
---|---|
-r | 删除目录,如果没有-r只能删除文件 |
-f | 强制删除,不需要确认。 |
目录和文件列表中间用空格分隔。
示例:
- 删除当前工作目录下匹配*.log的文件。
rm *.log
- 强制删除当前工作目录下匹配*.log的文件。
rm -f *.log
- 删除/tmp/aaa目录和文件。
rm -r /tmp/aaa
- 强制删除/tmp目录下匹配exp*的全部目录和文件。
1
rm -rf /tmp/exp*
- 强制删除当前工作目录下的book和book.c文件
rm -rf book book.c
十一、移动目录和文件
mv 旧目录或文件名 新目录或文件名
如果第二个参数是已经存在的目录,则把第一个参数(旧目录或文件名)移动到该目录中。
示例:
- 把当前工作目录中的book.c文件重命名为book1.c
mv book.c book1.c
- 如果/tmp/test3是一个已经存在的目录,以下命令将把当前工作目录下的book.c文件移动到/tmp/test3目录中。
mv book.c /tmp/test3
- 如果/tmp/test3目录不存在,以下命令将把当前工作目录下的book.c文件改名为/tmp/test3。
mv book.c /tmp/test3
十二、复制目录和文件
cp [-r] 旧目录或文件名 新目录或文件名
选项-r可以复制目录,如果没有选项-r只能复制文件。
示例:
- 把当前工作目录下的book1.c文件复制为book2.c
cp book1.c book2.c
- 把当前工作目录下的aaa目录复制为bbb
cp -r aaa bbb
- 把当前工作目录下的book1.c文件复制为/tmp/book1.c
cp book1.c /tmp/book1.c
cp book1.c /tmp/.
以上两个命令的效果相同。 - 把当前工作目录下的aaa目录复制为/tmp/aaa
cp -r aaa /tmp/aaa
cp -r aaa /tmp/.
以上两个命令的效果相同。
十三、打包压缩和解包解压
tar命令用来打包压缩和解包解压文件,类似windows的winrar工具。
打包压缩的语法:tar zcvf 压缩包文件名 目录或文件名列表
示例:
- 把当前工作目录的aaa、bbb和ccc目录打包压缩成123.tgz文件。
tar zcvf 123.tgz aaa bbb ccc
- 把/home/oracle/aaa、/home/oracle/bbb和/home/oracle/ccc目录打包压缩成/tmp/123.tgz文件。
tar zcvf /tmp/123.tgz /home/oracle/aaa /home/oracle/bbb /home/oracle/ccc
解包解压的语法:tar zxvf压缩包文件名
示例: - 把/tmp/123.tgz压缩包文件在当前工作目录下解压。
tar zxvf /tmp/123.tgz
- 把/tmp/123.tgz压缩包文件在/tmp/aaa目录下解压。
cd /tmp/aaa
tar zxvf /tmp/123.tgz
注意: - 用tar命令打包和解包的目录和文件没有绝对路径的说法,都成了相对的,在包中相对的。
- 用tar命令打包的文件,用winrar可以解开。
- 在Linux系统中,还有其它的打包压缩和解包解压命令,例如zip/unzip和gzip/gunzip。
十四、判断网络是否连通
Windows系统:ping -n 包的个数 ip地址或域名
Linux系统:ping -c 包的个数 ip地址或域名
ping用于确定本地主机是否能与另一台主机成功交换数据包,判断网络是否通畅。
十五、显示文本文件的内容
显示文本文件的内容有三个命令:cat、more和tail。
- cat命令
cat 文件名
cat命令一次显示整个文件的内容。cat book1.c
- more命令
more 文件名
为了方便阅读,more命令分页显示文件的内容,按空格键显示下一页,按b键显上一页,按q键退出。 - tail命令
tail -f 文件名
tail -f用于显示文本文件的最后几行,如果文件的内容有增加,就实时的刷新。对程序员来说,tail -f极其重要,可以动态显示后台服务程序的日志,用于调试和跟踪程序的运行。
十六、统计文本文件的行数、单词数和字节数
wc 文件名
示例:
- 统计当前工作目录处book2*.c文件的行数、单词数和字节数。
wc book2*.c
十七、搜索文件中的内容
grep "内容" 文件名
注意,如果内容中没有空格等特殊字符,可以不用双引号括起来。
示例:
- 在*.c文件中搜索max
grep max *.c
十八、搜索文件
find 目录名 -name 文件名 -print
参数说明:
目录名:待搜索的目录,搜索文件的时候,除了这个目录名,还包括它的各级子目录。
文件名:待搜索的文件名匹配的规则。
示例:
- 从/tmp目录开始搜索,把全部的*.c文件显示出来。
find /tmp -name *.c -print
- 从当前工作目录开始搜索,把全部的*.c文件显示出来。
find . -name *.c -print
#十九、增加/删除用户组
- 增加用户组
groupadd 组名
示例:groupadd dba
- 删除用户组
groupdel 组名
示例:groupdel dba
二十、增加/删除用户
- 增加用户
useradd -n 用户名 -g 组名 -d 用户的主目录
例如增加一个用户,用户名为wucz,属于dba组,用户的主目录是/home/wucz,各位兄弟,wucz是我的名字,您可以改为您自己的名字。useradd -n wucz -g dba -d /home/wucz
- 删除用户
userdel 用户名
例如删除wucz用户。userdel wucz
二十一、修改用户的密码
passwd [用户名]
修改用户的密码,按提示两次输入新密码,如果两次输入的密码相同就修改成功。
普通用户只能修改自己的密码,只输入passwd就可以了,不能指定用户名。
系统管理员可以修改任何用户的密码,passwd后需要指定用户名。
二十二、切换用户
在命令提示符下输入:su - root
,然后按提示输入root的密码后将切换到root用户。
从root用户切换到其它普通用户不需要输入密码,从普通用户切换到任何用户都需要输入密码。
二十三、修改目录和文件的主人和组
chown [-R] 用户名:组名 目录或文件名列表
chown将目录或文件的拥有者修改为参数指定的用户名和组,目录或文件名列表用空格分隔。
-R 选项表示处理各及子目录。
示例:
- 把/oracle/home和/oracle/base及其子目录的主人改为oracle,组改为dba。
chown -R oracle:dba /oracle/home /oracle/base
二十四、查看系统磁盘空间
df [-h] [-T]
选项-h 以方便阅读的方式显示信息。
选项-T 列出文件系统类型。
- 本文作者: Hbin
- 本文链接: https:/hbinfree.github.io/2021/01/11/linux常用命令/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!