Linux操作指令整理

Linux操作指令整理

win10中装虚拟机,在虚拟机中运行的Ubuntu。

系统指令:

arch --显示机器的处理器架构(1)

uname -m --显示机器的处理器架构(2)

uname -r --显示正在使用的内核版本

dmidecode -q --显示硬件系统部件 - (SMBIOS / DMI)

hdparm -i /dev/hda --罗列一个磁盘的架构特性

hdparm -tT /dev/sda --在磁盘上执行测试性读取操作

cat

三大功能:

  1. 一次显示整个文件:cat filen ame

  2. 从键盘创建一个文件:cat>filename只能创建新文件,不能编辑已有文件.

  3. 将几个文件合并为一个文件:cat file1 file2 > file

    -b 对非空输出行号

    -n 输出所有行号

    实例:

    (1) 把 log2012.log 的文件内容加上行号后输入 log2013.log 这个文件里

    cat -n log2012.log log2013.log

    (2) 把 log2012.log 和 log2013.log 的文件内容加上行号(空白行不加)之后将 内容附加到 log.log 里

    cat -b log2012.log log2013.log log.log

    (3) 使用 here doc 生成新文件

    cat >log.txt <<EOF
    
    \>Hello
    
    \>World
    
    \>PWD=$(pwd)
    
    \>EOF
    
    ls -l log.txt
    
    cat log.txt
    
    Hello
    
    World
    
    PWD=/opt/soft/test
    

    (4) 反向列示

    tac log.txt
    
    PWD=/opt/soft/test
    
    World
    
    Hello
    

cat /proc/version --显示内核的版本

cat /proc/cpuinfo --显示 CPU info 的信息

cat /proc/meminfo --校验内存使用

cat /proc/interrupts --显示中断

cat /proc/swaps --显示哪些 swap 被使用

cat /proc/net/dev --显示网络适配器及统计

cat /proc/mounts --显示已加载的文件系统

lspci -tv --罗列 PCI 设备

lsusb -tv --显示 USB 设备

date 显示系统日期 --2020年 01月 13日 星期一 21:09:08 CST

cal 2020 --显示2020 年的日历表

date 041217002007.00 --设置日期和时间 - 月日时分年.秒

clock -w --将时间修改保存到 BIOS

who --显示登陆者的信息

whoami --显示登陆者的名字

系统的操作(关机,重启)

shutdown -h now --关闭系统

init 0 --sudo - s 需root权限->关闭系统

telinit 0 --sudo - s 需root权限->关闭系统zzxx

shutdown -h hours:minutes & --按预定时间关闭系统

shutdown -c --取消按预定时间关闭系统

shutdown -r now --重启(1)

reboot --sudo - s 需root权限->重启(2)

clear --清除当前界面

文件目录指令

cd(changeDirectory)

命令语法:cd [目录名]。说明:切换当前目录至dirName

cd /home --进入 ‘/ home’ 目录’

cd … --返回上一级目录

cd …/… --返回上两级目录

cd --进入个人的主目录 /home/wangfan

cd - --返回上次所在的目录

cd ~ --返回到用户目录 /home/wangfan

cd

pwd

​ 查看当前工作目录路径

pwd -P --查看软链接的实际路径

ls

就是list的缩写,通过ls命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限) 查看目录信息等等

ls --查看目录中的文件

ls -F --查看目录中的文件

ls -l --显示文件和目录的详细资料

ls -a --显示隐藏文件

ls * [0-9]* --显示包含数字的文件名和目录名

ls -t 按照时间先后顺序排序显示 最新的文件最先显示
ls -r 逆序显示

在Linux下面 以.开头的文件都是隐藏文件

drwxrwxr-x 2 ubuntu Ubuntu 4096 10月 29 16:24 code
第一个字符表示文件类型:
d – 目录

		-	-- 普通文件
		l -- 链接文件
      	s -- socket文件
      	p -- 管道文件
	rwxrwxr-x	代表文件属性
	r -  read 代表可读权限
	w -  write 代表可写权限
	x -  excute 代表可执行权限
	
	--  -- 代表没有该权限
	rwx
	rw-
	r--
	-wx
	-w-
	--x

---
第一组rwx代表   属主		文件拥有者自己的权限
第二组rwx代表   属组		同组用户
第三组rwx代表	其他用户
						2	表示硬连接数
	只有当硬连接数为0时该文件才会被正真的删除

tree --显示文件和目录由根目录开始的树形结构-需要安装tree指令

pstree --显示正在运行的进程的树形结构-需要装tree

mkdir

​ 创建文件夹

mkdir dir1 --创建一个叫做 ‘dir1’ 的目录’

mkdir dir1 dir2 --同时创建两个目录

mkdir -p /tmp/dir1/dir2 --创建一个目录树- 若无没有tmp及以下目录,则先创建一个tmp包含dir1(包含dir2),最后在创建一个 p

rm

删除一个目录中的一个或多个文件或目录,如果没有使用-r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状

rm-f file1 --删除一个叫做 ‘file1’ 的文件’

rmdir dir1 --删除一个叫做 ‘dir1’ 的目录’

rm -rf dir1 --删除一个叫做 ‘dir1’ 的目录并同时删除其内容

rm -rf dir1 dir2 --同时删除两个目录及它们的内容

mv

移动文件或者修改文件名,根据第二参数类型(如目录,则移动文件;如为文件则重命令该文件。

当第二参数为目录时,可将多个文件以空格分隔作为第一参数,移动多个文件到参数2指定的目录

mv dir1 new_dir --重命名/移动 一个目录

mv test.log test1.txt --test.log 重命名为 test1.txt

mv llog1.txt log2.txt log3.txt /test3 – 将文件 log1.txt,log2.txt,log3.txt 移动到根的 test3 目录中

mv -i log1.txt log2.txt --将文件file1改名为file2,如果file2己经存在,则询问是否覆盖

mv* …/ --移动当前文件夹下的所有文件到上一级目录

rmdir

从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对其父目录的写权限,不能删除非空目录

rmdir -p parent/child/child11 --当parent子目录被删除后使它也成为空目录的话,则顺便一并删除

cp

将源文件复制至目标文件,或将多个源文件复制至目标目录。

注意:命令行复制,如果目标文件已经存在会提示是否覆盖,而在 shell 脚本中, 如果不加 -i 参数,则不会提示,而是直接覆盖!

cp file1 file2 --复制一个文件

cp dir/* . --复制一个目录下的所有文件到当前工作目录

cp -a /tmp/dir1 . --复制一个目录到当前工作目录

cp -a dir1 dir2 --复制一个目录

cp -r temp --复制目录及目录内所有项目

实例:

(1) 复制a.txt到test目录下,保持原文件时间,如果原文件存在提示是否覆盖

cp -ai a.txt test

(2) 为 a.txt 建议一个链接(快捷方式)

cp -s a.txt link_a.txt

ln -s file1 lnk1 --创建一个指向文件或目录的软链接

ln file1 lnk1 --创建一个指向文件或目录的物理链接

touch -t 0712250000 file1 --修改一个文件或目录的时间戳 - (YYMMDDhhmm)

file file1 outputs the mime type of the file as text

iconv -l --列出已知的编码

输入/输出格式规范:
  -f, --from-code=名称     原始文本编码
  -t, --to-code=名称       输出编码

 信息:
  -l, --list                 列举所有已知的字符集

 输出控制:
  -c                         从输出中忽略无效的字符
  -o, --output=FILE          输出文件
  -s, --silent               关闭警告
      --verbose              打印进度信息

  -?, --help                 给出该系统求助列表
      --usage                给出简要的用法信息
  -V, --version              打印程序版本号

文件搜索

find

find / -name file1 --从 ‘/’ 开始进入根文件系统搜索文件和目录

find / -user user1 --搜索属于用户 ‘user1’ 的文件和目录

find /home/user1-name∖*.bin --在目录’/home/user1’中搜索带有’.bin’结尾的文件 find /usr/bin -type f -atime +100 --搜索在过去100天内未被使用过的执行文件

find /usr/bin-typef-mtime-10 --搜索在10天内被创建或者修改过的文件

find /-name∖ * .rpm-execchmod755’{}‘∖; --搜索以’.rpm’结尾的文件并定义其权限 find /-xdev-name∖ * .rpm搜索以’.rpm’结尾的文件,忽略光驱、捷盘等可移动设备 locate ∖*.ps --寻找以 ‘.ps’ 结尾的文件 - 先运行 ‘updatedb’ 命令

whereis halt 显示一个二进制文件、源码或 man 的位置

which halt 显示一个二进制文件或可执行文件的完整路径

挂载一个文件系统

mount /dev/hda2 /mnt/hda2 挂载一个叫做 hda2 的盘 - 确定目录 ‘/ mnt/hda2’ 已经存在

umount /dev/hda2 卸载一个叫做 hda2 的盘 - 先从挂载点 ‘/ mnt/hda2’ 退出

fuser -km /mnt/hda2 当设备繁忙时强制卸载

umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用

mount /dev/fd0 /mnt/floppy 挂载一个软盘

mount /dev/cdrom /mnt/cdrom 挂载一个 cdrom 或 dvdrom

mount /dev/hdc /mnt/cdrecorder 挂载一个 cdrw 或 dvdrom

mount /dev/hdb /mnt/cdrecorder 挂载一个 cdrw 或 dvdrom

mount -o loop file.iso /mnt/cdrom 挂载一个文件或 ISO 镜像文件

mount -t vfat /dev/hda5 /mnt/hda5 挂载一个 Windows FAT32 文件系统

mount /dev/sda1 /mnt/usbdisk 挂载一个 usb 捷盘或闪存设备

mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share --挂载 一 个 windows 网络共享

磁盘空间

df -h 显示已经挂载的分区列表

ls -lSr |more 以尺寸大小排列文件和目录

du -sh dir1 估算目录 ‘dir1’ 已经使用的磁盘空间’

du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小

rpm -q -a --qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n 以大小为依据依次显示已安装的 rpm 包所 使用的空间 (fedora, redhat 类系统)

dpkg-query -W -f=’InstalledSize;10t{Installed-Size;10}t{Package}n’ | sort -k1,1n 以大 小为 依据 显示 已安 装的 deb 包所使用的空间 (ubuntu, debian 类系统)

用户和群组

groupadd group_name 创建一个新用户组 groupdel group_name 删除一个用户组 groupmod -n new_group_name old_group_name 重命名一个用户组 useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创 建 一 个 属 于 “admin” 用户组的用户 useradd user1 创建一个新用户 userdel -r user1 删除一个用户 ( ‘-r’ 排除主目录) usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性 passwd 修改口令 passwd user1 修改一个用户的口令 (只允许 root 执行) chage -E 2005-12-31 user1 设置用户口令的失效期限 pwck 检查 ‘/etc/passwd’ 的文件格式和语法修正以及存在的用户

grpck 检查 ‘/etc/passwd’ 的文件格式和语法修正以及存在的群组 newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组

文件的权限 - 使用 “+” 设置权限,使用 “-” 用于取消

ls -lh 显示权限

ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5 栏显示

chmodugo+rwxdirectory1设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写㈣

和执行(x )的权限

chmod go-rwx directory1删除群组回与其他人(o)对目录的读写执行权限

chown user1 file1 改变一个文件的所有人属性

chown-R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性 chgrp group1 file1 改变文件的群组

chown user1:group1 file1 改变一个文件的所有人和群组属性

find /-perm -u+s 罗列一个系统中所有使用了 SUID 控制的文件

chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有

者同样的权限

chmod u-s /bin/file1 禁用一个二进制文件的 SUID 位

chmod g+s/home/public 设置一个目录的 SGID 位 - 类似 SUID ,不过这是针对目录的 chmod g-s /home/public 禁用一个目录的 SGID 位

chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件

chmod o-t /home/public 禁用一个目录的 STIKY 位

touch

–创建空白文件
更新文件时间戳

head

​ --查看文件开始的10行内容
head -n 文件名 显示前n行

tail

​ --查看文件末尾10行的内容
tail -n 查看末尾n行
tail -f 以流的方式查看文件末尾内容的变化情况(使用最多的方式)

echo

​ --显示出特殊的空白字符

输出重定向
显示到终端界面

>		清空写入到文件中
>
>		 	>>		追加写入到文件中
more --查看文件

​ 显示最开始的一屏幕的内容 最下面显示显示内容的百分比
​ Enter 键 每次翻一行
​ Space 键 每次往后翻一页
​ q 退出

less --查看文件
	显示最开始的一屏幕的内容
	Enter键		每次往后翻一行
	Space键		每次往后翻一屏幕
	q			退出
	向上  方向键   往前面翻		PgUp
	向下  方向键   往后面翻		PgDn
grep --根据文件内容查找
	grep [选项]  匹配的字符串	文件名
		查找某个文件中是否包含某个字符串
	-n 	显示行号
	-c 	统计次数
	-i	忽略大小写
	-r	进入到目录下查找
   	统计所有.c 文件包含 time 这个字符串的记录
   	grep "time" xxxx/*
   	
   	find / -name "*.c" | xargs grep "time"
| 管道文件

​ 命令 | 命令
​ 把前面命令执行的结果作为 | 后面命令执行时的参数

man --Linux手册
英文
wc --统计 行数 单词 字符/字节 数据库
chmod --修改权限
	u 		user
	g		group
	o 		others
	+-		[rwx]	增加删除	对应权限
	[ugo]+-[rwx]
   	rwx
   	
   	r 	4	100		r--
   	w	2	010		-w-
   	x 	1	001		--x
   	
   	7	rwx		111
   	6	rw-		110
   	5	r-x		101
   	4	r--		100
   	3	-wx		011
   	2	-w-		010
   	1	--x 	001
   	0	---		000

ln --创建链接

​ 文件名的含义:
​ 表示磁盘文件中数据的访问形式和路径
​ 文件的硬件接数:
​ 表示访问该文件所代表的磁盘中的数据的访问方式有多少个
​ ln 路径 文件名 创建硬链接
​ ln -s 创建软链接

硬链接:代表的是磁盘数据的一个访问途径
软链接:保存路径本身
Windows:快捷方式

useradd --增加用户
userdel --删除用户
passwd --修改用户密码

groupadd

groupdel

sudo --获取用户超级权限

su --切换用户

shutdown -h now --立即关机
shutdown -r now --立即重启
reboot --重启
halt --关机
poweroff --关机
ps --查看进程
ps -elf
ps aux
top --任务管理器
kill -9 pid --杀死某个进程
ifconfig --查看网络情况 ipconfig
df --查看文件磁盘 和 文件系统 的使用情况

ctrl+alt+t 快捷打开终端

文本处理三剑客:awk sed grep

使用技巧:
通过方向键[上/下] 可以查找执行过的命令
tab键能自动补全

​ cd - 返回刚才所有的目录
./a.out & &表示把该程序作为后端程序

vi/vim 纯文本编辑器

​ vim是vi的升级版

使用vi时 可以创建新文件
也可以打开一个已经存在的文件
vi的三种模式:命令模式、编辑模式、底行模式
:命令模式:只能识别命令

>​	i,I,A,a,o,O		进入编辑模式
Esc		回到命令模式
>​	shift + :		进入底行模式
Enter	回到命令模式

命令模式:

shift+zz 保存退出

底行模式:

​ q! 强制退出(不保存)
​ q 退出(如果修改,必须强制退出)
​ w 保存
​ wq 保存并退出

i,I,a,A,o,O 的区别:
​ i:在光标位置输入
​ I:在光标所在行行首插入
​ a:在光标位置后面插入
​ A:在光标行行尾插入
​ o:在光标行下面插入新行
​ O:在光标行上面插入新行

移动光标:

​ 方向:h(左)j(下)k(上)l(右)
​ $: 定位到本行末尾位置
​ ^: 定位到本行行首位置
​ gg:定位到第一行
​ G: 定位到末尾行
​ ngg = nG: n代表数字 定位到第n行
​ w: 跳过光标所在单词 定位到下一个单词开始

​ nw

​ ctrl+f

删除行: (删除的内容实际是放到剪切板)

​ dd: 删除光标所在行
​ ndd: 删除从光标行开始n行

复制行:

​ yy: 复制光标所在行
​ nyy: 从光标行开始复制n行

粘贴行:

​ p 粘贴到光标所在行的下一行开始粘贴
​ dw 删除单词
​ ndw n表示数值
​ d$ 删除到行尾
​ d^ 删除到行首

撤销命令:

​ u

​ 反悔撤销:

​ CTRL+r

​ 改写

​ r 只能改写一个字符

​ R 进入改写状态 ESC退出改写状态

​ 大小写转换 ~

可视状态

​ v

​ 操作块

重复执行刚才的命令

​ .

底行模式:

​ 复制: n1,n2 co n3

​ 剪切: n1,n2 mo n3

​ :q

​ :q!

​ :w filename 把内容写入filename当中

​ :wq

​ :r filename 把filename的内容读到当前文档中

替换:

​ %s/oldstr/newstr 全文替换

​ n1,n2s/oldstr/newstr 替换n1到n2中的第一个oldstr

​ n1,n2s/oldstr/newstr/g 全部替换

查找(命令模式下):

​ /string Enter 从光标处往后查找第一个 光标定位到该字符串处

​ n往后查找下一个 N往前查找上一个

​ ?string Enter 从光标处往前查找第一个

​ n往前查找上一个 N往后查找下一个

自动补齐:

​ ctrl+p

可视模块 块模式

CTRL+v

​ I 可视块前插入

​ A 可视块后插入

​ d 删除

​ y 复制

​ c 修改

​ gu 小写

​ gU 大写

​ g~ 大小写转换

​ 按ESC 会影响到整个可视块的内容

shell脚本

​ Linux命令放到一个文件中 vi command.sh

​ 把该文件加上x权限 chmod +x command.sh

​ 可以直接执行该文件 ./command.sh

​ 复制: n1,n2 co n3

​ 剪切: n1,n2 mo n3

​ :q

​ :q!

​ :w filename 把内容写入filename当中

​ :wq

​ :r filename 把filename的内容读到当前文档中

替换:

​ %s/oldstr/newstr 全文替换

​ n1,n2s/oldstr/newstr 替换n1到n2中的第一个oldstr

​ n1,n2s/oldstr/newstr/g 全部替换

查找(命令模式下):

​ /string Enter 从光标处往后查找第一个 光标定位到该字符串处

​ n往后查找下一个 N往前查找上一个

​ ?string Enter 从光标处往前查找第一个

​ n往前查找上一个 N往后查找下一个

自动补齐:

​ ctrl+p

可视模块 块模式

CTRL+v

​ I 可视块前插入

​ A 可视块后插入

​ d 删除

​ y 复制

​ c 修改

​ gu 小写

​ gU 大写

​ g~ 大小写转换

​ 按ESC 会影响到整个可视块的内容

shell脚本

​ Linux命令放到一个文件中 vi command.sh

​ 把该文件加上x权限 chmod +x command.sh

​ 可以直接执行该文件 ./command.sh

发布了10 篇原创文章 · 获赞 2 · 访问量 162
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览