Linux系统中获取路径的文件名的方法

时间:2023-10-08 08:08:42 其他范文 收藏本文 下载本文

Linux系统中获取路径的文件名的方法(共8篇)由网友“horacezhou”投稿提供,下面小编为大家整理后的Linux系统中获取路径的文件名的方法,希望能帮助大家!

Linux系统中获取路径的文件名的方法

篇1:Linux系统中获取路径的文件名的方法

这篇文章主要介绍了Linux系统中获取路径的文件名的方法,文中总结出了两条,需要的朋友可以参考下

代码如下:

[root@dabu.info ]#basename /root/aaa/bbb/dabu.txt

显示:

代码如下:

dabu.txt #获取路径的文件名

shell脚本中如何获得脚本文件所在路径?

方法一:

代码如下:

[root@dabu.info ]#DIR=$(cd “$(dirname ”$0“)”; pwd)

[root@dabu.info ]#echo $DIR

但是像这种dirname “$0”这种写法,在遇到source命令时会得到错误的结果,

方法二:

代码如下:

[root@dabu.info ]#echo “$( cd ”$( dirname “${BASH_SOURCE[0]}” )“ && pwd )”

上面一行命令可以获得脚本的绝对轮径,无论你在何处调用这个脚本。

但是如果含有软链接,就无法使用了。所以,我们为了能正确解析指向脚本的软链接,可以使用下面的多行命令:

代码如下:

SOURCE=“${BASH_SOURCE[0]}”

while [ -h “$SOURCE” ]; do # resolve $SOURCE until the file is no longer a symlink

DIR=“$( cd -P ”$( dirname “$SOURCE” )“ && pwd )”

SOURCE=“$(readlink ”$SOURCE“)”

[[ $SOURCE != /* ]] && SOURCE=“$DIR/$SOURCE” # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located

done

DIR=“$( cd -P ”$( dirname “$SOURCE” )“ && pwd )”

也可与source,bash -c命令使用

但是,如果你在脚本中使用先cd切换到其他目录,在运行时上面的命令片段时,则上面的命令不能等到正确的结果,

可以参考关于$CDPATH 陷阱的文章。想理解它如何其作用的,可以运行下面的代码:

代码如下:

#!/bin/bash

SOURCE=“${BASH_SOURCE[0]}”

while [ -h “$SOURCE” ]; do # resolve $SOURCE until the file is no longer a symlink

TARGET=“$(readlink ”$SOURCE“)”

if [[ $SOURCE == /* ]]; then

echo “SOURCE ‘$SOURCE‘ is an absolute symlink to ‘$TARGET‘”

SOURCE=“$TARGET”

else

DIR=“$( dirname ”$SOURCE“ )”

echo “SOURCE ‘$SOURCE‘ is a relative symlink to ‘$TARGET‘ (relative to ‘$DIR‘)”

SOURCE=“$DIR/$TARGET” # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located

fi

done

echo “SOURCE is ‘$SOURCE‘”

RDIR=“$( dirname ”$SOURCE“ )”

DIR=“$( cd -P ”$( dirname “$SOURCE” )“ && pwd )”

if [ “$DIR” != “$RDIR” ]; then

echo “DIR ‘$RDIR‘ resolves to ‘$DIR‘”

fi

echo “DIR is ‘$DIR‘”

篇2:linux中shell获取ssh端口号方法linux操作系统

利用shell获取ssh端口我还是第一次听说过了,不过有一个牛B的站长就是做到了,下面我把他写的shell获取ssh端口号方法给大家分享一下吧,希望文章对各位会带来帮助.

格,如下:

代码如下复制代码

[root@MyVPS1697 07]# netstat -ntpl|grep sshd|grep -v grep |awk -F : '{print $4}'

为了解决空格问题,把我所在的3个运维群都问了一个遍,现在才知道人多力量大,好多热心的群友给我了几个解决办法,现在把他们给的shell语句发出来:

代码如下复制代码

netstat -antp | grep sshd| awk -F “:” '{print $4}' | awk '{if($0 !~/^$/)print $0}'

netstat -ntlp|grep sshd |awk -F: '{if($4!=“”)print $4}'

netstat -ntlp|grep ^tcp |awk -F: '{if($4!=“”)print $4}'

netstat -ntlp | awk '!a[$NF]++ && $NF~/sshd$/{sub (“.*:”,“”,$4);print $4}'

netstat -antp | grep tcp| awk -F “:” '{print $4}' | awk '{if($0 !~/^$/)print $0}'

好了,就这几个吧,我也懒,不想再去翻聊天记录了,能够解决问题就可以了.

原文转自:blog.slogra.com/post-542.html 感谢站长

篇3:DirectAdmin 日志路径各种系统中查看方法Windows服务器操作系统

本文章收集了现在常用的系统中查看DirectAdmin 日志路径各种问题的解决办法,有需要了解的朋友可参考,

可以通过admin的Log Viewer来查看默认定义的几个日志文件。

也可以通过ssh来查看,日志文件的列表如下:

DirectAdmin:

/var/log/directadmin/error.log

/var/log/directadmin/errortaskq.log

/var/log/directadmin/system.log

/var/log/directadmin/security.log

Apache:

/var/log/httpd/error_log

/var/log/httpd/access_log

/var/log/httpd/suexec_log

/var/log/httpd/fpexec_log

/var/log/httpd/domains/domain.com.error.log

/var/log/httpd/domains/domain.com.log

/var/log/messages (generic errors)

Proftpd:

/var/log/proftpd/access.log

/var/log/proftpd/auth.log

/var/log/messages (generic errors)

PureFTPd:

/var/log/pureftpd.log

Dovecot and vm-pop3d:

/var/log/maillog

/var/log/messages

named (bind):

/var/log/messages

exim:

/var/log/exim/mainlog

/var/log/exim/paniclog

/var/log/exim/processlog

/var/log/exim/rejectlog

(on FreeBSD, they have “exim_” in front of the filenames)

mysqld:

RedHat:

/var/lib/mysql/server.hostname.com.err

FreeBSD and Debian:

/usr/local/mysql/data/server.hostname.com.err

crond:

/var/log/cron

通过如下命令查看日志文件:

less /var/log/filename

/var/log/filename 日志文件路径,如果日志太大你可以使用“tail”命令:

tail -n 30 /var/log/filename

查看日志文件的最后30行,

篇4:python在linux系统下获取系统内存使用情况的方法

作者:work24 字体:[增加 减小] 类型:

这篇文章主要介绍了python在linux系统下获取系统内存使用情况的方法,涉及Python在Linux平台下获取系统硬件信息的相关技巧,需要的朋友可以参考下

本文实例讲述了python在linux系统下获取系统内存使用情况的方法,分享给大家供大家参考。具体如下:

“”“Simple module for getting amount of memory used by a specified user‘s processes on a UNIX system.It uses UNIX ps utility to get the memory usage for a specified username and pipe it to awk for summing upper application memory usage and return the total.Python‘s Popen from subprocess module is used for spawning ps and awk.”“”import subprocessclass MemoryMonitor(object): def __init__(self, username): “”“Create new MemoryMonitor instance.”“” self.username = username def usage(self): “”“Return int containing memory used by user‘s processes.”“” self.process = subprocess.Popen(“ps -u %s -o rss | awk ‘{sum+=$1} END {print sum}‘” % self.username, shell=True, stdout=subprocess.PIPE, ) self.stdout_list = self.process.communicate()[0].split(‘\n‘) return int(self.stdout_list[0])

将上面的代码保存为:memorymonitor.py

调用方法如下:

from memorymonitor import MemoryMonitormemory_mon = MemoryMonitor(‘username‘)used_memory = memory_mon.usage()

希望本文所述对大家的Python程序设计有所帮助,

篇5:linux系统中nginx HTTP配置方法linux操作系统

在windows上折腾过nginx的HTTP基本验证,没有成功.这次换到centos服务器,顺手加上HTTP的一个验证功能,下面给大家分享一下,

首先安装htpasswd命令.

yum install httpd

1.打开站点配置文件

location / {

auth_basic “Admin Auth”;

auth_basic_user_file /usr/local/nginx/conf/proxy/pwd;

....

auth_basic为认证页面提示语,auth_basic_user_file 为密码认证文件

2.新建pwd文件,输入一对密码串 yourname:yourpass

用户名:密码

3.生成加密串

htpasswd /usr/local/nginx/conf/proxy/pwd yourname

4.重载或重启nginx,HTTP基本验证就生效了

篇6:linux系统中WordPress伪静态配置方法linux操作系统

NMP环境是目前我们国内站长使用的Linux VPS配置环境中使用较多的,作为新手我们很可能会看到笔者类似的”LNMP安装教程”然后依葫芦画瓢的去安装VPS。

L我们是否有发现环境中我们较为常用的wordpress伪静态不生效,内页出现404错误页面。这个问题很好解决,因为我们lnmp采用的是nginx,而不是apache,所以不如apache直接丢htaccess文件到网站根目录就可以生效伪静态。

首先,默认安装的lnmp环境中已经有伪静态文件wordpress.conf文件在”/usr/local/nginx/conf/wordpress.conf”中,我们可以核对一下里面的编译代码是不是为:

代码如下复制代码

if (-f $request_filename/){

rewrite (.*) $1/ break;

}

if (-f $request_filename/index.php){

rewrite (.*) $1/index.php;

}

if (!-f $request_filename){

rewrite (.*) /index.php;

}

如果不是,我们需要修改成上面的代码文件用来rewrite跳转伪静态,

其次,我们需要在属于我们网站的配置文件:

/usr/local/nginx/conf/vhost/www.***.org.conf(自己添加域名自动命名)

我们会看到类似下面的代码,看到粗线部分是我添加进去的,你就添加进去就可以:

代码如下复制代码

server {

listen 80;

server_name www.111cn.net;

index index.html index.php;

include wordpress.conf;

最后,我们用ssh登录VPS,然后用下面的命令重启lnmp

/root/lnmp restart

执行上面三步骤之后,我们是不是已经解决了伪静态问题,其他常用的CMS也是一样的,在默认的conf下基本都包含我们所需要的CMS伪静态编译脚本。

篇7:linux系统中.htaccess 301重定向实现方法总结linux操作系统

linux系统中.htaccess 301重定向实现方法总结 有需要的朋友可参考一下本文章,

在设置 301 重定向之前务必备份相应目录下的.htaccess文件。.htaccess 301转向设置仅限于linux主机,并须要支持虚拟主机,上次试了重定向domain.com到www.domain.com,还真立即生效了

1.重定向domain.com到www.domain.com

这种重定向旨在使域名唯一,是网站SEO必须要做的,后面重定向www.domain.com到domain.com也是出于同样的原因,只是形式不同。打开.htaccess文件,加入以下规则。(下面的规则是针对主域名的,子域名要修改)

代码如下复制代码

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]

RewriteRule ^(.*)$ www.domain.com/$1 [L,R=301]

2.重定向www.domain.com到domain.com

代码如下复制代码

RewriteEngine On

RewriteCond %{HTTP_HOST} !^domain.com$ [NC]

RewriteRule ^(.*)$ domain.com/$1 [L,R=301]

3.重定向olddomain.com到www.newdomain.com

代码如下复制代码

RewriteEngine On

RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]

RewriteRule ^(.*)$ www.newdomain.com/$1 [L,R=301]

4.重定向olddomain.com to newdomain.com

代码如下复制代码

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]

RewriteRule ^(.*)$ newdomain.com/$1 [L,R=301]

5.重定向domain.com/file/file.php 到 otherdomain.com/otherfile/other.php

代码如下复制代码

RewriteCond %{HTTP_HOST} ^www.domain.com$

RewriteRule ^file/file.php$ www.otherdomain.com/otherfile/other.php [R=301,L]

如果是是WIN主机,看你的主机是否支持重定向,

如果支持,你的命名文件为:httpd.ini,代码为:

代码如下复制代码

[ISAPI_Rewrite]

CacheClockRate 3600

RepeatLimit 32

RewriteEngine On

RewriteCond Host: ^nantongzufang.com$

RewriteRule (.*) www.nantongzufang.com$1 [I,R]

篇8:linux系统中VNC远程桌面安装和配置方法详解linux操作系统

本文章来给大家介绍linux系统中VNC远程桌面安装和配置方法详解,有需要了解的朋友可参考,这我里介绍的是在环境是CentOS-6.4-x86_64,使用VNC远程桌面后,用户可以使用客户端登陆linux的桌面,并且支持多人登陆操作。

具体方法

1.检查linux系统是否安装VNC命令rpm -q vnc-server

如果没有安装则使用yum install vnc vnc-server

2.启动vnc服务

代码如下复制代码vncserver

You will require a password to access your desktops.

Password:

Verify:

输入两次密码,这个就是你远程登陆时所需要的密码。

3.修改配置文件,root账户下

代码如下复制代码vi /etc/sysconfig/vncservers

新加下面的配置

代码如下复制代码VNCSERVERS=”10000:root” #10000:root (桌面号:用户)

VNCSERVERARGS[2]=”-geometry 1024×768 -nolisten tcp -localhost”

4.配置防火墙,允许10000+5900=15900端口通过防火墙访问桌面

代码如下复制代码vi /etc/sysconfig/iptables

-A INPUT -m state –state NEW -m tcp -p tcp –dport 15900 -j ACCEPT

5.重启vnc服务和防火墙。

代码如下复制代码/etc/init.d/vncserver restart

/etc/init.d/iptables restart

6.设置vnc的自启动

代码如下复制代码chkconfig vncserver on

更改密码可以使用vncpasswd命令

上面是我的操作过程,后来从众生找到一篇图文的教程,大家不防参考一下

使用ssh软件连接到系统,使用命令vncserver启动vnc服务

首次使用vncserver会提示输入密码,然后重复输入一次(此处输入geisnic.com

作为密码,须记住此密码),回车出现下图提示:

此处记住dispay#,这里是feng:1,display#即为1.

在当前用户的主目录下打开文件.vnc/xstartup, 因为这里使用的是root用户,所以文件在/root目录下,打开文件后,注释掉所有的行,加入一行gnome-session & ,保存退出,

使用命令vncserver -kill :dispaly#   上面步骤中一说明了dispaly#的查看方法,这里为1,输入命令回车

再次使用命令vncserver重启服务

记住此处的dispaly#为1.

Vncserver默认端口是5900,此处在防火墙中开放此端口

vi /etc/sysconfig/iptables

找到下面的语句:

-A RH-Firewall-1-INPUT -j REJECT ——reject-with icmp-host-prohibited

在此行之前,加上下面的内容:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5900:5903 -j ACCEPT

然后重启iptables服务:service iptables restart

即可。

在本地系统中打开软件vnc Viewer(vnc客户端),输入机器的Ip地址加上dispaly#

此处是 118.126.16.219:1

点确定,出现如下输入框,输入刚刚设置的密码geisnic.com

点确定即可登录至系统

设置vncserver开机自动启动:chkconfig vncserver on

学习心得如何总结

3DSMAX学习心得总结

php实习报告

网页设计工作实习报告

linux目录简单介绍Linux

实例讲解在Linux下安装nvidia显卡驱动Linux

Shell中的变量使用小结

网页设计实习报告总结

学习计划软件

网页设计的实习报告

Linux系统中获取路径的文件名的方法
《Linux系统中获取路径的文件名的方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

【Linux系统中获取路径的文件名的方法(共8篇)】相关文章:

网页设计实习报告2023-10-30

网页设计实习工作总结2022-11-26

安卓实习心得感悟2023-08-22

海事管理专业求职信2023-01-14

市场报告2022-06-20

如何保护Linux 网络安全2022-10-13

安全文明出行心得感悟2022-05-04

linux 操作技巧(二)Linux2022-05-17

公共卫生管理专业求职信2023-09-01

生产规章制度流程由什么岗位2023-08-03

点击下载本文文档