java知识体系

linux常用命令有哪些?


linux常用命令有哪些?

 

注:
Linux命令常用结构 :Command [-option] [argument]
Command:即是要运行的命令的本身,说白了就是一个软件(程序);
Option:是选项(可选),选项是控制命令运行状态和行为的(可多个选项一起,如df -hT);
Argument:是参数(可选),是命令要操作对象如文件、路径、数据、目录等;

 

1、目录创建用什么命令?
mkdir

2、创建文件用什么命令?
touch 
vi  创建文件并进入编辑状态

3、文件权限修改用什么命令?
chmod
如:chmod +7 fileName

4、查看文件内容有哪些命令可以使用?
vi 文件名 #编辑方式查看,可修改
cat 文件名 #显示全部文件内容
more 文件名 #分页显示文件内容
less 文件名 #与 more 相似,更好的是可以往前翻页
tail 文件名 #仅查看尾部,还可以指定行数
head 文件名 #仅查看头部,还可以指定行数

5、向屏幕输出带空格的字符串
echo
例子:echo lin hai
结果:lin hai

6、终端是哪个文件夹下的哪个文件?
/dev/tty

7、黑洞文件是哪个文件夹下的哪个命令?
/dev/null

8、移动文件
mv

9、文件改名
mv

10、文件复制
1)复制文件
cp

2)复制文件及子文件
cp -r

11、删除
rm 删除文件并且有提示,不能删除文件夹
rm -f 删除文件没有提示,不能删除文件夹
rm -r 删除文件有提示,每一个文件都会提示是否删除
rm -rf 删除文件夹,没有提示

3)删除空文件夹用什么命令?
rmdir

12、Linux 下命令有哪几种可使用的通配符?分别代表什么含义?
“?”可替代单个字符。
“*”可替代任意多个字符。
方括号“[charset]”可替代 charset 集中的任何单个字符,如[a-z],[abABC]

13、用什么命令对一个文件的内容进行统计?(行号、单词数、字节数)
wc -c 统计字节数
wc -l 统计行数
wc -w 统计字数

14、如何在控制台打印文本中匹配的字符串
grep 字符串 文件名
grep ^字符串 文件名  : 模糊匹配

15、怎么使一个命令在后台运行?
一般都是使用 & 在命令结尾来让程序自动运行。(命令后可以不追加空格)

16、显示进程
1)显示所有进程
ps -ef
2)显示指定进程
ps -ef | grep pid;
注:pid 如nginx,redis等
3)ps -aux | grep pid   //可以输出状态

17、哪个命令专门用来查看后台任务?
job -l

18、后台任务执行
1)把后台任务调到前台执行使用什么命令?
fg
2)把停下的后台任务在后台执行起来用什么命令
bg

19、终止进程用什么命令? 带什么参数?
kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]
kill-9 pid

20、搜索文件用什么命令? 格式是怎么样的?
find <指定目录> <指定条件> <指定动作>
find / -name "string*"   //直接搜索磁盘,较慢。
whereis 加参数与文件名  //只能查二进制文件、说明文档,源文件等
locate 只加文件名
which : 只能查可执行文件

21、查看当前谁在使用该主机用什么命令? 查找自己所在的终端信息用什么命令?
who am i
wo

22、使用什么命令查看用过的命令列表?
history

23、使用什么命令查看磁盘使用空间? 空闲空间呢?
df -hl
打印目录对应:文件系统 容量 已用 可用 已用% 挂载点

24、使用什么命令查看网络是否连通?
netstat

25、查看系统环境变量
env

26、怎么对命令进行取别名?
alias la="ls -a”

27、du 和 df 的定义,以及区别?
du 显示目录或文件的大小,会显示该目录及子目录下所有文件的大小
命令:du haihia
结果:
0 haihai/jingjing
0 haihai

df显示系统盘大小
如:df
Filesystem              1K-blocks     Used Available Use% Mounted on
/dev/mapper/centos-root  18307072 14595344   3711728  80% /
devtmpfs                  3992244        0   3992244   0% /dev
tmpfs                     4004752        0   4004752   0% /dev/shm
tmpfs                     4004752   402400   3602352  11% /run
tmpfs                     4004752        0   4004752   0% /sys/fs/cgroup
/dev/sda1                  508588   174832    333756  35% /boot
tmpfs                      800952        0    800952   0% /run/user/0
df -hl
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   18G   14G  3.6G  80% /
devtmpfs                 3.9G     0  3.9G   0% /dev
tmpfs                    3.9G     0  3.9G   0% /dev/shm
tmpfs                    3.9G  393M  3.5G  11% /run
tmpfs                    3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda1                497M  171M  326M  35% /boot
tmpfs                    783M     0  783M   0% /run/user/0

28、打印linux支持的所有命令列表
compgen -c

29、结束所有进程
disown -r

30、查看命令执行次数
hash

31、翻页查看文件
 cat file_name.txt | more

32、查看命令的作用
whatis 命令

33、打印当前路径
pwd或者dirs

34、开关机
sync :把内存中的数据写到磁盘中(关机、重启前都需先执行sync)
shutdown -r now或reboot :立刻重启
shutdown -h now :立刻关机
shutdown -h 20:00 :预定时间关闭系统(晚上8点关机,如果现在超过8点,则明晚8点)
shutdown -h +10 :预定时间关闭系统(10分钟后关机)
shutdown -c :取消按预定时间关闭系统

35、系统信息
who am i :查看当前使用的终端
who 或 w : 查看所有终端
uname -m :显示机器的处理器架构(如x86_64)
cat /proc/version :查看linux版本信息
uname -r :显示正在使用的内核版本
lsb_release -a :查看系统发行版本(如CentOS7)
rpm -qa | grep kernel-devel :查看kernel-devel版本(安装软件时编译内核用,故需要保持内核版本一致性)
yum install -y "kernel-devel-uname-r == $(uname -r)":安装和Linux内核版本匹配的kernel-devel
hostnamectl set-hostname 主机名:修改主机名(包括静态、瞬态和灵活主机名,如有域名解析记得手动更新/etc/hosts)
date :显示系统日期 (date +%Y/%m/%d : 显示效果如2018/01/01)
date 070314592018.00 :设置时间(格式为月日时分年.秒 )
clock -w :将时间修改保存到 BIOS
cal 2018 :显示2018年的日历表
clear :清空命令行
ifconfig :显示或设置网卡(查ip等)(类似windows中ipconfig)
ping -c 3
www.baidu.com :测试百度与本机的连接情况( -c 3表示测试3次)
cat /proc/cpuinfo :显示CPU的信息
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l :查看物理CPU个数
cat /proc/cpuinfo| grep "cpu cores"| uniq :查看每个物理CPU的核数
cat /proc/cpuinfo| grep "processor"| wc -l :查看逻辑CPU个数即线程数

36、系统性能
top :动态实时显示cpu、内存、进程等使用情况(类似windows下的任务管理器)
top -d 2 -p 7427 :-d为画面更新的秒数,默认5秒,-p为指定进程pid的信息
vmstat 2 10 :每隔2秒采集一次服务器状态,采集10次(查看内存、io读写状态、cpu)
free -h :查看系统内存及虚拟内存使用情况
df -h :显示磁盘的空间使用情况
iostat :可查io读写、cpu使用情况
sar -u 3 5 :查看cpu使用情况(3秒一次,共5次)
sar -d 2 3 :评估磁盘性能
ps aux|grep firefox :获取火狐的进程号(PID)(可查看进程占用cpu、内存百分比及进程触发指令的路径)
kill -9 进程号 :强制杀死进程
systemctl :查看正在运行的服务

37、文件和目录
​ cd:是Change Directory的缩写,用来切换工作目录,语法:cd [相对或绝对路径或特殊符号]

cd :进入该用户的主目录 ~(root用户为/root,其他用户为/home/用户名)
cd .. :返回上一级目录(注意要空格)
cd - :返回上次所在目录
cd / :返回根目录 (绝对路径)
cd ./目录1/目录2 :进入当前目录下的子目录(相对路径)
pwd :显示工作路径(Print Working Directory 的缩写)

​ls:是List的缩写,用于列出目录下的文件,语法:ls [选项][目录或文件名]

ls -a :列出文件下所有的文件,包括以“.“开头的隐藏文件
**ls -lh *.log** :列出文件的详细信息(.log结尾,*为通配符代表任意多个字符)
file 文件或目录 :显示文件的类型(目录、text、zip、shell脚本等)

mkdir dir1 :创建目录(dir1)(mkdir为make directory的缩写)
mkdir -p ./dir1/dir2 :递归创建目录(-p:父目录不存在时,同时建立)
touch a.txt :创建文件a.txt
find -inum 1842601 -exec rm -rf {} ; :删除乱码文件或目录(会提示找不到此文件或文件夹但其实已经删除了)(上传中文文件会乱码,rm命令删除不了)(先使用ls -i命令找到inode,即文件或目录前面的数字字符串,如1842601;)
​mv:是move的缩写,可以用来剪切移动文件、目录或者将文件改名;
语法:mv 源文件 目标文件(改名)或目录(移动);
mv a b :移动或者重命名一个文件或者目录(存在即移动目录或覆盖文件,不存在即改名)
mv /opt/git/g /opt/a :移动g到opt目录下并改名为a(a目录不存在,若存在则为移动g到a目录下)
mv -t ./test a.txt b.txt :移动多个文件到某目录下
​cp:复制文件或目录;cp命令可以将单个或多个文件复制到一个已经存在的目录下;
常用:cp -ai 文件或目录 目标目录;
cp -ai /opt/abc /opt/git/ :复制abc目录(或文件)到git目录下(选项a表示文件的属性也复制、目录下所有文件都复制;i表示覆盖前询问)
​ln:link的缩写,用于建立硬(软)链接,常用于软件安装时建软链接(类似快捷方式)到PATH;
语法:ln [-s] 源文件 目标文件
ln -s /opt/a.txt /opt/git/ :对文件创建软链接(快捷方式不改名还是a.txt)
ln -s /opt/a.txt /opt/git/b :(快捷方式改名为b)(下面的一样可以改名)
ln -s /opt/mulu /opt/git/ :对目录创建软链接
ln /opt/a.txt /opt/git/ :对文件创建硬链接

38、查看某个端口是否被占用
netstat -anp | grep 端口号(状态为LISTEN表示被占用)