linux 命令行

							linux命令行操作

1.时间
date
cal

2.切换路径
cd 更改工作目录到你的家目录
cd - 更改工作目录到你先前的工作目录
cd ~username 更改工作目录到用户家目录

3.ls命令
ls -a 列出所有文件,包括以.开头的隐藏文件
ls -d 列出指定目录下的文件,与-l结合使用
ls -F 会在每个所列出名字后面加上一个指示符。例如,如果名字是目录,则会加上一个’/'字符
ls -h 以可读的格式,而不是以字节数来显示文件的大小
ls -l 以长格式来显示结果
ls -r 以相反的顺序来显示结果
ls -S 命令输出结果按照文件大小来排序
ls -t 按照修改时间来排序

4.目录详情
/ 根目录,万物起源
/bin 包含系统启动和运行所必需的二进制程序
/boot 包含Linux内核、初始RAM磁盘映像(用于启动时所需的驱动)和启动加载程序。
----/boot/grub/grub.conf or menu.lst 被用来配置启动加载程序
----/boot/vmlinuz/ Linux内核
/dev 系统层面的配置文件。包含一系列的shell脚本,开启每个系统服务。
----/etc/crontab 自定自动运行的任务
----/etc/fstab 包含存储设备的列表,以及与他们相关的挂载点
----/etc/passwd 用户账号列表
/home 系统给每个用户在home目录下分配一个目录。普通用户只能在自己的目录下写文件。
/lib 核心系统程序所使用的共享库文件。这些文件与Windows中的动态链接库相似。
/lost+found 部分恢复一个损坏的文件系统时,会用到这个目录。一般为空,除非文件系统损坏。
/media 可移动介质的挂载点,例如USB驱动器等等。这些介质连接到计算机后自动挂载到这个目录节点下
/opt 安装"可选的"软件,存储可能安装在系统中的商业软件产品
/proc Linux内核维护的一个虚拟文件系统。内核的窥视孔,文件可读,显示内核是怎样监管计算机的
/root root账户的家目录
/sbin "系统"二进制文件。完成重大通任务的程序,通常为超级用户保留。
/tmp 存储由各种程序创建的临时文件的地方。一些配置导致系统每次重新启动时都会清空这个目录
/usr 包含普通用户所需要的所有程序和文件
----/usr/bin 系统安装的可执行程序。
----/usr/lib 包含由/usr/bin目录中的程序所用的共享库
----/usr/local 非系统发行版自带程序的安装目录。通常由源码编译的程序会安装在/usr/local/bin下
----/usr/sbin 包含很多系统管理程序
----/usr/share 由/usr/bin目录程序使用的共享数据。
----/usr/share/doc 在/usr/ share/doc 目录下,我们可以找到按照软件包分类的文档
/var 除了/tmp 和/home 目录之外,相对来说,目前我们看到的 目录是静态的,这是说,它们的内容不会改变。/var 目录存 放的是动态文件。各种数据库,假脱机文件,用户邮件等等, 都位于在这里
----/var/log 这个/var/log 目录包含日志文件、各种系统活动的记录。这 些文件非常重要,并且应该时时监测它们。其中最重要的一 个文件是/var/log/messages。注意,为了系统安全,在一些 系统中,你必须是超级用户才能查看这些日志文件。

5.通配符
通配符

  • 匹配任意多个字符(包括零个或一个)
    ? 匹配任意一个字符(不包括零个)
    [characters] 匹配任意一个属于字符集中的字符
    [!characters] 匹配任意一个不是字符集中的字符
    [[:class:]] 匹配任意一个属于指定字符类中的字符

普遍使用的字符类
[:alnum:] 匹配任意一个字母或数字
[:alpha:] 匹配任意一个字母
[:digit:] 匹配任意一个数字
[:lower:] 匹配任意一个小写字母
[:upper:] 匹配任意一个大写字母

下面是一些类型匹配的范例:

  •     	所有文件
    

g* 文件名以“g”开头的文件
b*.txt 以”b” 开头,中间有零个或任意多个字符,并以”.txt” 结尾的文件
Data??? 以“Data”开头,其后紧接着 3 个字符的文件
[abc]* 文件名以”a”,”b”, 或”c” 开头的文件
BACKUP.[0-9][0- 9][0-9] 以”BACKUP.” 开头,并紧接着 3 个数字的文件
[[:upper:]]* 以大写字母开头的文件
[![:digit:]]* 不以数字开头的文件
*[[:lower:]123] 文件名以小写字母结尾,或以“1”,“2”,或“3”结尾的文件

6.操作文件和目录
cp:
-a:复制文件和目录,以及他们的属性,包括所有权和权限。
-i:在重写已存在文件前,提示用户确认。如果不指定,会默认覆盖。
-r:递归的复制目录及目录中的内容。
-u:当把文件从一个目录复制到另一个目录时,仅复制目标目录中不存在的文件,或者是文件内容新于目标目录中已经存在的文件。
-v:显示翔实的命令操作信息。

cp file1 file2 dir1 :复制文件file1和文件file2到目录dir1。目录dir1必须存在。
cp dir1/* dir2 :使用一个通配符,在目录dir1中的所有文件都被复制到目录dir2中。dir2必须已存在。
cp -r dir1 dir2 :复制目录dir1中的内容到目录dir2。如果目录dir2不存在,创建目录dir2,操作完成后,目录dir2中的内容和dir1中的一样。如果目录dir2存在,则目录dir1(和目录中的内容)将会被复制到dir2中。

mv:
-i: 重写一个已经存在的文件之前,提示用户确认信息
-u:当把文件从一个目录移动另一个目录时,只是移动不存在的文件,或者文件内容新于目标目录相对应文件的内容
-v: 显示翔实的操作信息
mv file1 file2 dir1 移动file1和file2到目录dir1中。dir1必须已经存在

rm:
-i:在删除已存在的文件前,提示用户确认信息。
-r:递归地删除文件
-f:忽视不存在的文件,不显示提示信息
-v:显示翔实的操作信息

ln:
硬链接:
ln file1 file2 不能跨磁盘、只能链接文件,不能链接目录
软连接:
ln -s file1 file2 可跨磁盘,可链接目录

alias:(创建自定义命令)
1.type foo 测试该自定义命令是否已经存在
2.alias foo=‘cd /usr; ls; cd -’;
3.unalisa foo 删除自定义命令

重定向:> 覆盖 >> 追加
ls -l /bin/usr > ls-output.txt 2>&1
ls -l /bin/usr &> ls-output.txt
我们完成两个重定向。首先重定向标准输出到文件ls-output.txt,然后重定向文件描述符2(标准错误)到文件描述符1(标准输出)使用表示法2>&1。

ls -l /bin/usr 2> /dev/null
不想要一个命令的输出结果,只想把它们扔掉。/dev/null 即位存储桶,它可以接受输入,并且对输入不做任何处理。

grep:
-i:忽略大小写
-v:只打印不匹配的行

head/tail:
默认显示开头/结尾10行
-n:head -n 5 filename 调整输出的行数

输入命令时移动光标:
Ctrl-a 移动光标到行首。
Ctrl-e 移动光标到行尾。
Ctrl-t 光标位置的字符和光标前面的字符互换位置。
Alt-t 光标位置的字和其前面的字互换位置。
Alt-l 把从光标位置到字尾的字符转换成小写字母。
Alt-u 把从光标位置到字尾的字符转换成大写字母。

历史命令:
history | less

权限:
chmod 777 filename
umask 0002 掩码值 出现1的地方 相应的文件权限被删除

setgid位(八进制2000),这个相似于setuid位,把有效用户组ID从真正的用户组ID更改为文件所有者的组ID。如果设置了一个目录的setgid位,则目录中新创建的文件具有这个目录用户组的所有权,而不是文件创建者所属用户组的所有权
chmod u+s program 授予一个程序setuid权限
chmod g+s dir 授予一个目录setgid权限
chmod +t dir 授予一个目录sticky权限

第三个是sticky位(八进制1000)。这个继承于Unix,在Unix中,它可能把一个可执行文件标志为“不可交换的”。在Linux中,会忽略文件的sticky位,但是如果一个目录设置了sticky位,那么它能阻止用户删除或重命名文件,除非用户是这个目录的所有者,或者是文件所有者,或是超级用户。

更改身份:
su -l user 切换user用户 -l可缩写为-
su - 切换为root用户

更改文件所有者和用户组(需要超级用户权限):
chown [owner] [:[group]] filename
chgrp 更改用户组所有权

更改用户密码:
passwd [user]

进程:
pstree 输出一个树型结构的进程列表(processtree),这个列表展示了进程间父/子关系
vmstat 输出一个系统资源使用快照,包括内存,交换分区和磁盘I/O。为了看到连续的显示结果,则在命令名后加上更新操作延时的时间(以秒为单位)。例如,“vmstat5”。,按下Ctrl-c组合键,终止输出。
xload 一个图形界面程序,可以画出系统负载随时间变化的图形。
tload terminalload与xload程序相似,但是在终端中画出图形。使用Ctrl-c,来终止输出

检查环境变量
printenv | less
set | less
alias

vi编辑器:
0 光标移动到行首字母
$ 光标移动到行位
u 撤销最后一次修改

网络系统
traceroute "跳数"网络路由(traceroute 120.27.248.242)
scp remote-sys:document.txt 将家目录下的document.txt文件拷贝到本地

if commands;
then commands
[elif commands;
then commands…]
[else commands]
fi

读取键盘输入
read -a 把输入赋值到数组array中,从索引号零开始。
read -d 用字符串delimiter中的第一个字符指示输入结束,而不是一个换行符。
read -e 使用Readline来处理输入。这使得与命令行相同的方式编辑输入。
read -n 读取n个输入字符,而不是整行。
read -p 为输入显示提示信息,使用字符串prompt。
read -r Rawmode.不把反斜杠字符解释为转义字符。
read -s Silentmode.不会在屏幕上显示输入的字符。当输入密码和其它确认信息的时候。
read -t 超时.几秒钟后终止输入。若输入超时,read会返回一个非零退出状态
read -u 使用文件描述符fd中的输入,而不是标准输入。

while commands; do
commands;
done

case word in
[pattern [| pattern]…) commands ;;]…
esac

for variable [inwords]; do
commands
done

for((expression1;expression2;expression3)); do
commands
done

du -sm /*
lsof -i:port
yum install lrzsz

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值